On the uniformity of software evolution patterns
Proceedings of the 25th International Conference on Software Engineering
Detection of Logical Coupling Based on Product Release History
ICSM '98 Proceedings of the International Conference on Software Maintenance
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Analyzing the Evolutionary History of the Logical Design of Object-Oriented Software
IEEE Transactions on Software Engineering
An empirical study of fine-grained software modifications
Empirical Software Engineering
Recovering the Evolution Stable Part Using an ECGM Algorithm: Is There a Tunnel in Mozilla?
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Codebook: discovering and exploiting relationships in software repositories
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Measuring Class Importance in the Context of Design Evolution
ICPC '10 Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension
Non-essential changes in version histories
Proceedings of the 33rd International Conference on Software Engineering
An Exploratory Study of Macro Co-changes
WCRE '11 Proceedings of the 2011 18th Working Conference on Reverse Engineering
Hi-index | 0.00 |
The literature describes several approaches to identify the artefacts of programs that evolve together to reveal the (hidden) dependencies among these artefacts and to infer and describe their evolution trends. We propose the use of biological methods to group artefacts, to detect co-evolution among them, and to construct their phylogenic trees to express their evolution trends. First, we introduced the novel concepts of macro co-changes (MCCs), i.e., of artefacts that co-change within a large time interval and of dephase macro co-changes (DMCCs), i.e., macro co-changes that always happen with the same shifts in time. We developped an approach, Macocha, to identify these new patterns of artefacts co-evolution in large programs. Now, we are analysing the evolution of classes playing roles in design pattern and–or anti-patterns. In parallel to previous work, we are detecting what classes are in macro co-change or in dephase macro co-change with the design motifs. Results trend to show that classes plying roles in design motifs have specifics evolution trends. Finally, we are implementing an approach, Profilo, to achieve the analysis of the evolution of artefacts and versions of large object-oriented programs. Profilo create a phylogenic tree of different versions of program that describes versions evolution and the relation among versions and programs. We will also evaluate the usefulness of our tools using lab and field studies.