Using Slicing to Identify Duplication in Source Code
By Raghavan Komondoor, Susan Horwitz. Sensors Applications Symposium, 2001
637 citations recorded by the source corpus.
Subfields: Information Systems, Software, Signal Processing
View Paper: https://www.semanticscholar.org/paper/c82b5fa7d000e46fb5b684473f7a655be7cb5b25
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
- Charles Sutton
- Tien Nhut Nguyen
- Anh Tuan Nguyen
- Rainer Koschke
- Miltiadis Allamanis
- Hoan Anh Nguyen
In Software
- Chanchal Kumar Roy
- James R. Cordy
- Tien Nhut Nguyen
- Rainer Koschke
- Charles Sutton
- Anh Tuan Nguyen
- Miltiadis Allamanis
- Hoan Anh Nguyen
In Signal Processing
- Chanchal Kumar Roy
- James R. Cordy
- Rainer Koschke
- Tien Nhut Nguyen
- Anh Tuan Nguyen
- Jiawei Han
- Charles Sutton
- Armando Solar-Lezama
Citations in the corpus
- Identifying similar code with program dependence graphs (2001, background): “These approaches are graph-based [10], text-based (and language independent) [4], syntax-based [3] or are based on metrics (syntax- and/or text-based) [11, 13].”
- 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.”
- A Large-Scale Study on Repetitiveness, Containment, and Composability of Routines in Open-Source Projects (2016, methodology): “Prior research has used program dependence graph (PDG) [17] to model the semantics of source code for comparison [20, 36, 30].”
- Semantic code search via equational reasoning (2020, methodology): “PDGs abstract away the exact ordering of statements in favor of identifying when one statement uses the result of another (data dependence) or is guarded by a condition (control dependence).”
- Neural Detection of Semantic Code Clones Via Tree-Based Convolution (2019, methodology): “Komondoor and Horwitz [25] use Program Dependency Graphs (PDGs) to detect clones.”
- A Survey on Software Clone Detection Research (2007, methodology): “One of the leading PDG-based clone detection approach is that of Komondoor and Horwitz’s PDG-DUP [141, 144] which finds isomorphic PDG subgraphs using program slicing [218].”
- 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.”
- 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): “Ç”
- Detecting Similar Programs via The Weisfeiler-Leman Graph Kernel (2016, positive): “Then, the program similarity problem is reduced to the problem of finding isomorphic graphs using program slicing [13].”
- 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].”
- Survey of Research on Software Clones (2006, methodology): “In their case study, they used CCFinder—Kamiya’s [37] tool evaluated in other case studies, too—one of the Bauhaus2 clone detectors, namely ccdiml, which is a variation of Baxter’s technique [47], and the PDG-based detector PDG-DUP by Komondoor [52].”
- Juxtapp: A Scalable System for Detecting Code Reuse among Android Applications (2012, background): “Semantic-based approaches[46–48] aim to reason about the program on the semantic level, such as using program dependency graphs (PDGs) or program slicing.”
- DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones (2007, methodology): “Komondoor and Horwitz [14] suggest the use of program dependence graphs (PDGs) [8] and program slicing [22] to find isomorphic PDG subgraphs in order to identify code clones.”