loading...
Understanding Class Evolution in Object-Oriented Software
Bari, Italy June 24-June 26
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/WPC.2004.131104512th IEEE International Workshop on P ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Zhenchang Xing, University of Alberta, Canada
Eleni Stroulia, University of Alberta, Canada
In the context of object-oriented design, software systems model real-world entities abstractly represented in the system classes. As the system evolves through its lifecycle, its class design also evolves. Thus, understanding class evolution is essential in understanding the current design of the system and the rationale behind its evolution. In this paper, we describe a taxonomy of class-evolution profiles, a method for automatically categorizing a system's classes in one (or more) of eight types in the taxonomy, and a data-mining method 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. The recovered knowledge about class evolution facilitates the overall understanding of the system class-design evolution and the identification of the specific classes that should be investigated in more detail towards improving the system-design qualities. We report on two case studies evaluating our approach.
Citation:
Zhenchang Xing, Eleni Stroulia, "Understanding Class Evolution in Object-Oriented Software," icpc, pp.34, 12th IEEE International Workshop on Program Comprehension (IWPC'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.