Using Origin Analysis to Detect Merging and Splitting of Source Code Entities
IEEE Transactions on Software Engineering
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
A generic approach to supporting diagram differencing and merging for collaborative design
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Modeling history to analyze software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Journal of Software Maintenance and Evolution: Research and Practice
Improving change descriptions with change contexts
Proceedings of the 2008 international working conference on Mining software repositories
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)
Extending the reflexion method for consolidating software variants into product lines
Software Quality Control
Data clone detection and visualization in spreadsheets
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
Merging and splittingsource code artifacts is a commonactivity during the lifespan of a software system; as developersrethink the essential structure of a system or plan fora new evolutionary direction, so must they be able to reorganizethe design artifacts at various abstraction levelsas seems appropriate. However, while the raw effects ofsuch changes may be plainly evident in the new artifacts,the original intent of the design changes is often lost. Inthis paper, we discuss how we have extended origin analysis[10, 5] to aid in the detection of merging and splittingof files and functions in procedural code; in particular,we show how reasoning about how call relationships havechanged can aid a developer in locating where merges andsplits have occurred, thereby helping to recover informationabout the intent of the design change. We also describea case study of these techniques (as implemented inthe Beagle tool) using the PostgreSQL database as the candidatesystem.