Identifying the semantic and textual differences between two versions of a program
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Identifying syntactic differences between two programs
Software—Practice & Experience
Incremental program testing using program dependence graphs
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Change detection in hierarchically structured information
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Semantics Guided Regression Test Cost Reduction
IEEE Transactions on Software Engineering
Using version control data to evaluate the impact of software tools
Proceedings of the 21st international conference on Software engineering
Semantic Diff: A Tool for Summarizing the Effects of Modifications
ICSM '94 Proceedings of the International Conference on Software Maintenance
Interactive Simultaneous Editing of Multiple Text Regions
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
An Implementation of and Experiment with Semantic Differencing
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
CVS Release History Data for Detecting Logical Couplings
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
An Ethnographic Study of Copy and Paste Programming Practices in OOPL
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
A Differencing Algorithm for Object-Oriented Programs
Proceedings of the 19th IEEE international conference on Automated software engineering
Managing Duplicated Code with Linked Editing
VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing
Using Origin Analysis to Detect Merging and Splitting of Source Code Entities
IEEE Transactions on Software Engineering
Design requirements for more flexible structured editors from a study of programmers' text editing
CHI '05 Extended Abstracts on Human Factors in Computing Systems
When Functions Change Their Names: Automatic Detection of Origin Relationships
WCRE '05 Proceedings of the 12th Working Conference on Reverse Engineering
Program element matching for multi-version program analyses
Proceedings of the 2006 international workshop on Mining software repositories
Detecting similar Java classes using tree algorithms
Proceedings of the 2006 international workshop on Mining software repositories
Supporting Refactoring Activities Using Histories of Program Modification
IEICE - Transactions on Information and Systems
Tracking Code Clones in Evolving Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Automatic Inference of Structural Changes for Matching across Program Versions
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Identifying Changed Source Code Lines from Version Repositories
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Differencing logical UML models
Automated Software Engineering
Determining detailed structural correspondence for generalization tasks
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction
IEEE Transactions on Software Engineering
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
Proceedings of the 30th international conference on Software engineering
Semi-automating small-scale source code reuse via structural correspondence
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
Tracking Your Changes: A Language-Independent Approach
IEEE Software
Accurate and Efficient Structural Characteristic Feature Extraction for Clone Detection
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Discovering and representing systematic code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Managing multi-version programs with an editor
IBM Journal of Research and Development
Exploring the design space of proactive tool support for copy-and-paste programming
CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
Fourth International Workshop on Software Clones (IWSC)
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Representing clones in a localized manner
Proceedings of the 5th International Workshop on Software Clones
Hi-index | 0.00 |
Tool support for code clones can improve software quality and maintainability. While significant research has been done in locating clones in existing source code, there has been less of a research focus on proactively tracking and supporting copy-paste-modify operations, even though copying and pasting is a major source of clone formation and the resulting clones are then often modified. We designed and implemented a programming editor, based on the Eclipse integrated development environment, named CSeR (Code Segment Reuse), which keeps a record of copy-and-paste-induced clones and then tracks and visualizes the changes made to a clone with distinct colors. The core of CSeR is an algorithm that actively compares two clones for detailed differences as a programmer edits either one of them. This edit-based comparison algorithm is unique to CSeR and produces more immediate, accurate, and natural results than other differencing tools.