Managing Duplicated Code with Linked Editing
- 5 April 2005
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 173-180
- https://doi.org/10.1109/vlhcc.2004.35
Abstract
We present Linked Editing, a novel, lightweight editor-based technique for managing duplicated source code. Linked Editing is implemented in a prototype editor called Codelink. We argue that the use of programming abstractions like functions and macros-the traditional solution to duplicated code-has inherent cognitive costs, leading programmers to chronically copy and paste code instead. Our user study compares functional abstraction with Linked Editing and shows that Linked Editing can give the benefits of abstraction with orders of magnitude decrease in programming time.Keywords
This publication has 21 references indexed in Scilit:
- Reengineering analysis of object-oriented systems via duplication analysisPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Problems creating task-relevant clone detection reference dataPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2004
- Software quality analysis by code clones in industrial legacy softwarePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Graphical rewrite rule analogies: avoiding the inherit or copy and paste reuse dilemmaPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Behaviour combination through analogyPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- CCFinder: a multilinguistic token-based code clone detection system for large scale source codeIEEE Transactions on Software Engineering, 2002
- A language independent approach for detecting duplicated codePublished by Institute of Electrical and Electronics Engineers (IEEE) ,1999
- Substring matching for clone detection and change trackingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1994
- Identifying the semantic and textual differences between two versions of a programPublished by Association for Computing Machinery (ACM) ,1990
- A technique for isolating differences between filesCommunications of the ACM, 1978