Some strategies of reuse in an object-oriented programming environment
CHI '89 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Reducing the variability of programmers' performance through explained examples
INTERCHI '93 Proceedings of the INTERCHI '93 conference on Human factors in computing systems
A technique for computer detection and correction of spelling errors
Communications of the ACM
Exploiting the map metaphor in a tool for software evolution
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Maintaining software through intentional source-code views
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Interactive Simultaneous Editing of Multiple Text Regions
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
Partial Redesign of Java Software Systems Based on Clone Analysis
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
An Ethnographic Study of Copy and Paste Programming Practices in OOPL
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
Managing Duplicated Code with Linked Editing
VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing
An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
UMLDiff: an algorithm for object-oriented design differencing
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
ConcernMapper: simple view-based separation of scattered concerns
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
A join point for loops in AspectJ
Proceedings of the 5th international conference on Aspect-oriented software development
Program element matching for multi-version program analyses
Proceedings of the 2006 international workshop on Mining software repositories
Representing concerns in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Identifying cloned navigational patterns in web applications
Journal of Web Engineering
Relation of code clones and change couplings
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to 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
Structural analysis and visualization of C++ code evolution using syntax trees
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
Assisting potentially-repetitive small-scale changes via semi-automated heuristic search
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
Clonetracker: tool support for code clone management
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
Journal of Software Maintenance and Evolution: Research and Practice
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
Proceedings of the 2008 Foundations of Software Engineering Doctoral Symposium
Clone maintenance through analysis and refactoring
Proceedings of the 2008 Foundations of Software Engineering Doctoral Symposium
An evaluation of code similarity identification for the grow-and-prune model
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
On the evaluation of recommender systems with recorded interactions
SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
The life and death of statically detected vulnerabilities: An empirical study
Information and Software Technology
Towards a refactoring guideline using code clone classification
Proceedings of the 2nd Workshop on Refactoring Tools
Cleman: Comprehensive Clone Group Evolution Management
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
An empirical study on the maintenance of source code clones
Empirical Software Engineering
A code reuse interface for non-programmer middle school students
Proceedings of the 15th international conference on Intelligent user interfaces
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
Tracking code patterns over multiple software versions with Herodotos
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Using twinning to adapt programs to alternative APIs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Recurring bug fixes in object-oriented programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Actively comparing clones inside the code editor
Proceedings of the 4th International Workshop on Software Clones
Classifying code clones with configuration
Proceedings of the 4th International Workshop on Software Clones
Detection of recurring software vulnerabilities
Proceedings of the IEEE/ACM international conference on Automated software engineering
Code clones in feature-oriented software product lines
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Scalable and systematic detection of buggy inconsistencies in source code
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Achievements and challenges in software reverse engineering
Communications of the ACM
Tracking the evolution of code clones
SOFSEM'11 Proceedings of the 37th international conference on Current trends in theory and practice of computer science
Index-based model clone detection
Proceedings of the 5th International Workshop on Software Clones
Automated type-3 clone oracle using Levenshtein metric
Proceedings of the 5th International Workshop on Software Clones
MeCC: memory comparison-based clone detector
Proceedings of the 33rd International Conference on Software Engineering
Systematic editing: generating program transformations from an example
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Studying software evolution using artefacts' shared information content
Science of Computer Programming
Historage: fine-grained version control system for Java
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Sydit: creating and applying a program transformation from an example
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
A method for analyzing code homology in genealogy of evolving software
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
An empirical study on inconsistent changes to code clones at the release level
Science of Computer Programming
Empirical Software Engineering
Active refinement of clone anomaly reports
Proceedings of the 34th International Conference on Software Engineering
Increasing clone maintenance support by unifying clone detection and refactoring activities
Information and Software Technology
XIAO: tuning code clones at hands of engineers in practice
Proceedings of the 28th Annual Computer Security Applications Conference
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
ACM Transactions on Software Engineering and Methodology (TOSEM)
RAMC: runtime abstract memory context based plagiarism detection in binary code
Proceedings of the 7th International Conference on Ubiquitous Information Management and Communication
Hi-index | 0.02 |
Code clones are generally considered harmful in software development, and the predominant approach is to try to eliminate them through refactoring. However, recent research has provided evidence that it may not always be practical, feasible, or cost-effective to eliminate certain clone groups. We propose a technique for tracking clones in evolving software. Our technique relies on the concept of abstract clone region descriptors (CRD), which describe clone regions within methods in a robust way that is independent from the exact text of the clone region or its location in a file. We present our definition of CRDs, and describe a complete clone tracking system capable of producing CRDs from the output of a clone detection tool, notify developers of modifications to clone regions, and support the simultaneous editing of clone regions. We report on two experiments and a case study conducted to assess the performance and usefulness of our approach.