Design mentoring based on design evolution analysis
eclipse '04 Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange
Analyzing the Evolutionary History of the Logical Design of Object-Oriented Software
IEEE Transactions on Software Engineering
UMLDiff: an algorithm for object-oriented design differencing
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
Replaying development history to assess the effectiveness of change propagation tools
Empirical Software Engineering
Analyzing software evolution through feature views: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Differencing logical UML models
Automated Software Engineering
Automatically identifying changes that impact code-to-design traceability during evolution
Software Quality Control
A taxonomy for software change impact analysis
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Assessing architectural evolution: a case study
Empirical Software Engineering
Hi-index | 0.00 |
In the context of object-oriented design, softwaresystems model real-world entities abstractly representedin the system classes. As the system evolves through itslifecycle, its class design also evolves. Thus,understanding class evolution is essential inunderstanding the current design of the system and therationale behind its evolution. In this paper, we describea taxonomy of class-evolution profiles, a method forautomatically categorizing a system's classes in one (ormore) of eight types in the taxonomy, and a data-miningmethod for eliciting co-evolution relations among them.These methods rely on our UMLDiff algorithm that,given a sequence of UML class models of a system,surfaces the design-level changes over its lifecycle. Therecovered knowledge about class evolution facilitates theoverall understanding of the system class-designevolution and the identification of the specific classesthat should be investigated in more detail towardsimproving the system-design qualities. We report on twocase studies evaluating our approach.