Detection Of Duplicate Code
Main Article Content
Abstract
Task of managing duplicated or “cloned†code has occupied the minds of programmers for the past 50 years. During this time, researchers
and practitioners have developed a variety of techniques for removing or avoiding it by employing functions, macros and other programming
abstractions. Functional abstraction was designed into early programming languages, such as Fortran and Lisp. Object-oriented programming,
originating with Simula-67, has provided further mechanisms for parameterized reuse to avoid duplication. Aspect-oriented programming has
allowed cross-cutting duplication to be abstracted. Engineering practices like Refactoring and Extreme Programming have promoted specific
methodologies of abstracting duplicated code. In the last decade, a multitude of tools have been developed (both in research and in industry) that help
programmers semi-automatically find and refactor existing duplication into functions, macros and methods. Given this long-term commitment to
programming abstractions as a solution use “duplicated code†and “cloned code†synonymously to mean two or more multi-line code fragments that
are either identical or similar, particularly in their structure. Duplicated code, it stands to reason that there should be little duplication left in practice.
Keywords: Software maintenance, code duplication detection, code visualization
Downloads
Article Details
COPYRIGHT
Submission of a manuscript implies: that the work described has not been published before, that it is not under consideration for publication elsewhere; that if and when the manuscript is accepted for publication, the authors agree to automatic transfer of the copyright to the publisher.
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgment of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work
- The journal allows the author(s) to retain publishing rights without restrictions.
- The journal allows the author(s) to hold the copyright without restrictions.