Program evolution: processes of software change
Program evolution: processes of software change
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
Version models for software configuration management
ACM Computing Surveys (CSUR)
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
A State-of-the-Art Survey on Software Merging
IEEE Transactions on Software Engineering
The evolution matrix: recovering software evolution using software visualization techniques
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Future trends in software evolution metrics
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Software Reflexion Models: Bridging the Gap between Design and Implementation
IEEE Transactions on Software Engineering
Semantic Diff: A Tool for Summarizing the Effects of Modifications
ICSM '94 Proceedings of the International Conference on Software Maintenance
Software Evolution Observations Based on Product Release History
ICSM '97 Proceedings of the International Conference on Software Maintenance
Detection of Logical Coupling Based on Product Release History
ICSM '98 Proceedings of the International Conference on Software Maintenance
Visualizing Software Release Histories: The Use of Color and Third Dimension
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
An Integrated Approach for Studying Architectural Evolution
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Studying Software Evolution Information by Visualizing the Change History
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Characterizing the Evolution of Class Hierarchies
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Detecting and Visualizing Refactorings from Software Archives
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
Analyzing the Evolutionary History of the Logical Design of Object-Oriented Software
IEEE Transactions on Software Engineering
Impact of software engineering research on the practice of software configuration management
ACM Transactions on Software Engineering and Methodology (TOSEM)
Versioning Systems for Evolution Research
IWPSE '05 Proceedings of the Eighth International Workshop on Principles of Software Evolution
Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Detecting Move Operations in Versioning Information
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
A Change-based Approach to Software Evolution
Electronic Notes in Theoretical Computer Science (ENTCS)
Mining a Change-Based Software Repository
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
SpyWare: a change-aware development toolset
Proceedings of the 30th international conference on Software engineering
Example-Based Program Transformation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Combinatorial optimization in system configuration design
Automation and Remote Control
How Program History Can Improve Code Completion
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Improving code completion with program history
Automated Software Engineering
Proceedings of the 1st Workshop on Web 2.0 for Software Engineering
Enhancing collaboration of multi-developer projects with synchronous changes
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Towards a generic operation recorder for model evolution
Proceedings of the 1st International Workshop on Model Comparison in Practice
Operation-based, fine-grained version control model for tree-based representation
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
Is it dangerous to use version control histories to study source code evolution?
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
The impact of tangled code changes
Proceedings of the 10th Working Conference on Mining Software Repositories
Hi-index | 0.00 |
The analysis of the evolution of software systems is a useful source of information for a variety of activities, such as reverse engineering, maintenance, and predicting the future evolution of these systems. Current software evolution research is mainly based on the information contained in versioning systems such as CVS and SubVersion. But the evolutionary information contained therein is incomplete and of low quality, hence limiting the scope of evolution research. It is incomplete because the historical information is only recorded at the explicit request of the developers (a commit in the classical checkin/checkout model). It is of low quality because the file-based nature of versioning systems leads to a view of software as being a set of files. In this paper we present a novel approach to software evolution analysis which is based on the recording of all semantic changes performed on a system, such as refactorings. We describe our approach in detail, and demonstrate how it can be used to perform fine-grained software evolution analysis.