Identifying similar code with program dependence graphs
By Jens Krinke. Proceedings Eighth Working Conference on Reverse Engineering, 2001
740 citations recorded by the source corpus.
Subfields: Information Systems, Software, Signal Processing
View Paper: https://www.semanticscholar.org/paper/9bdac1f28f7d4c5f3b28c25ea5bbc6a3be0449b1
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
- Chanchal Kumar Roy
- James R. Cordy
- Tien Nhut Nguyen
- Charles Sutton
- Anh Tuan Nguyen
- Rainer Koschke
- Gabriele Bavota
- Miltiadis Allamanis
In Software
- Chanchal Kumar Roy
- James R. Cordy
- Tien Nhut Nguyen
- Rainer Koschke
- Anh Tuan Nguyen
- Charles Sutton
- Gabriele Bavota
- Miltiadis Allamanis
In Signal Processing
- Chanchal Kumar Roy
- James R. Cordy
- Tien Nhut Nguyen
- Rainer Koschke
- Anh Tuan Nguyen
- Jiawei Han
- Gang Zhao
- Jeff Huang
Citations in the corpus
- Automatically generating commit messages from diffs using neural machine translation (2017, background): “For example, to detect code clones, traditional approaches predefine the representations of code fragments (some techniques use token sequences to represent code [25]; others use graphs [29], [9]).”
- Predicting source code changes by mining change history (2004, background): “Many of these approaches defined clones based on various program aspects such as software metrics (e.g., [17]), the program’s text (e.g., [5]), abstract syntax trees (e.g., [6]), and program dependency graphs (e.g., [ 14 ]).”
- CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code (2004, methodology): “The techniques used include: line-by-line [6], token-by-token [24, 33], (cid:2)ngerprinting [21], visualization [11, 13], abstract syntax tree [7, 27], and dependence graph [26, 28].”
- Comparison and Evaluation of Clone Detection Tools (2007, neutral): “Ç”
- Do code clones matter? (2009, background): “• Tree [3,8,12] and graph [9,19,22] based approaches require the availability of suitable context free grammars for AST or PDG construction.”
- DeepSim: deep learning code functional similarity (2018, background): “There exist a few techniques [15, 17, 32, 37] that construct a program dependence graph (PDG) for each code fragment and measure code similarity through finding isomorphic sub-graphs.”
- Finding Clones with Dup: Analysis of an Experiment (2007, background): “Duplix (based on program dependency graphs) reported only Type 3 clones [11].”
- Survey of Research on Software Clones (2006, background): “identified as isomorphic subgraphs in a program dependency graph [51, 52].”
- Graph-based mining of multiple object usage patterns (2009, methodology): “Some clone detection approaches applied graph-based techniques, but are limited in scalability [17].”
- Clone Detection Using Abstract Syntax Suffix Trees (2006, result): “The paper reports the results of several large case studies in which we empirically compare the new technique to other techniques using the Bellon benchmark for clone detectors.”
- To What Extent do Deep Learning-based Code Recommenders Generate Predictions by Cloning Code from the Training Set? (2022, methodology): “These techniques exploit information extracted from the AST [6, 8, 52], use a graph-based representation of code [23, 36, 37], or look at token-based similarities [28, 29, 33].”
- A Large-Scale Study on Repetitiveness, Containment, and Composability of Routines in Open-Source Projects (2016, background): “Duplix [33] finds similar subgraphs in the PDGs to detect clones.”
- Comparison and evaluation of code clone detection techniques and tools: A qualitative approach (2009, methodology): “In fact, in Bellon’s experiment [18], the graph-based tool Du-plix [75] was found to detect a small proportion of such near-miss clones.”
- CP-Miner: finding copy-paste and related bugs in large-scale software code (2006, background): “…drivers, arch, and crypt have higher percentage of copy-paste than other modules in Linux; and f. as the operating system code evolves, the amount of copy-paste also increases, but the coverage percentage of copy-pasted code remains relatively stable over the recent versions of Linux and FreeBSD.”
- GPLAG: detection of software plagiarism by program dependence graph analysis (2006, methodology): “Moreover, for both effectiveness and efficiency, a statistical lossy filter is developed, which has not been seen in previous studies [10, 12].”
- The New C Standard (Excerpted material) An Economic and Cultural Commentary (2008, positive): “However, the dependencies between statements will not be affected by any differences in ordering and comparisons based on a dependence graph will be able to find duplicates.[ 23 ]”
- A Survey on Software Clone Detection Research (2007, methodology): “Krinke uses an iterative approach (k-length patch matching) for detecting maximal similar subgraphs [156].”