A language independent approach for detecting duplicated code
- 1 January 1999
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10636773,p. 109-118
- https://doi.org/10.1109/icsm.1999.792593
Abstract
Code duplication is one of the factors that severely complicates the maintenance and evolution of large software systems. Techniques for detecting duplicated code exist but rely mostly on parsers, technology that has proven to be brittle in the face of different languages and dialects. In this paper we show that is possible to circumvent this hindrance by applying a language independent and visual approach, i.e. a tool that requires no parsing, yet is able to detect a significant amount of code duplication. We validate our approach on a number of case studies, involving four different implementation languages and ranging from 256 K up to 13 Mb of source code size.Keywords
This publication has 9 references indexed in Scilit:
- Separating parsing and analysis in reverse engineering toolsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Clone detection using abstract syntax treesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Evaluation experiments on the detection of programming patterns using software metricsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Experiment on the automatic detection of function clones in a software system using metricsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1996
- A framework for source code search using program patternsIEEE Transactions on Software Engineering, 1994
- Substring matching for clone detection and change trackingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1994
- Seesoft-a tool for visualizing line oriented software statisticsIEEE Transactions on Software Engineering, 1992
- Detecting Plagiarism in Student Pascale ProgramsThe Computer Journal, 1988
- A tool that detects plagiarism in Pascal programsPublished by Association for Computing Machinery (ACM) ,1981