Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2015, Volume 27, Issue 1, Pages 39–50
DOI: https://doi.org/10.15514/ISPRAS-2015-27(1)-3
(Mi tisp112)
 

This article is cited in 3 scientific papers (total in 3 papers)

Scalable code clone detection tool based on semantic analysis

Sevak Sargsyan, Shamil Kurmangaleev, Andrey Belevantsev, Hayk Aslanyan, Artiom Baloian

Institute for System Programming of the Russian Academy of Sciences
Full-text PDF (242 kB) Citations (3)
References:
Abstract: This article describes the methods of code clones detection. New approach of code clones detection is proposed for C/C++ languages based on analysis of existed methods. The method based on semantic analysis of the project, which allows detecting code clones with high accuracy. It is realized as part of LLVM compiler, which allows exceeding existed methods. The tool is consisted of three basic parts. The first part is Program Dependence Graph (PDG) generation and serialization. PDG is constructed during compilation time of the project based on LLVM's intermediate representation. Several simple optimizations are applied on these graphs, then they are serialized to file. The second stage is analyzing of stored PDGs. PDGs are loaded from files and split to subgraphs. Every subgraph is considered as clone candidate. New method is purposed for the splitting, which increases number of detected clones. There are two types of algorithms for clone detection. The first types of algorithms try to prove that the pair of PDGs can not be clones. These algorithms have linear complexity, which allows processing huge amount of PDGs pairs. In case of failure graph isomorphism algorithms are applied for similar subgraphs detection. The last part is integrated system for automatic testing of algorithm’s accuracy. For the project, set of clones are automatically generated, then clone detection algorithms are applied for original source and generated one
Keywords: semantic analysis, code clones, PDG, LLVM.
Funding agency Grant number
Russian Foundation for Basic Research 15-07-07541
The paper is supported by RFBR grant 15-07-07541 А
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: Sevak Sargsyan, Shamil Kurmangaleev, Andrey Belevantsev, Hayk Aslanyan, Artiom Baloian, “Scalable code clone detection tool based on semantic analysis”, Proceedings of ISP RAS, 27:1 (2015), 39–50
Citation in format AMSBIB
\Bibitem{SarKurBel15}
\by Sevak Sargsyan, Shamil Kurmangaleev, Andrey Belevantsev, Hayk Aslanyan, Artiom Baloian
\paper Scalable code clone detection tool based on semantic analysis
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 1
\pages 39--50
\mathnet{http://mi.mathnet.ru/tisp112}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(1)-3}
\elib{https://elibrary.ru/item.asp?id=23420340}
Linking options:
  • https://www.mathnet.ru/eng/tisp112
  • https://www.mathnet.ru/eng/tisp/v27/i1/p39
  • This publication is cited in the following 3 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:286
    Full-text PDF :130
    References:36
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024