CVSM Bibliography, Entry [ XiS2005ASE ]


Xing, Zhenchang; Stroulia, Eleni: UMLDiff: An Algorithm for Object-Oriented Design Differencing;
p.54-65 in: Proc. 20th IEEE/ACM International Conference on Automated Software Engineering (ASE'05), November 7-11, 2005, Long Beach, California, USA; IEEE Computer Society; 2005
Library Entries: ACM Digital Library, BibTeX DBLP
Deskriptoren: CVSM

Abstract: This paper presents UMLDiff, an algorithm for automatically detecting structural changes between the designs of subsequent versions of object-oriented software. It takes as input two class models of a Java software system, reverse engineered from two corresponding code versions. It produces as output a change tree, i.e., a tree of structural changes, that reports the differences between the two design versions in terms of (a) additions, removals, moves, renamings of packages, classes, interfaces, fields and methods, (b) changes to their attributes, and (c) changes of the dependencies among these entities. UMLDiff produces an accurate report of the design evolution of the software system, and enables subsequent design-evolution analyses from multiple perspectives in support of various evolution activities. UMLDiff and the analyses it enables can assist software engineers in their tasks of understanding the rationale of design evolution of the software system and planning future development and maintenance activities. We evaluate UMLDiff's correctness and robustness through a real-world case stud.