Understanding class evolution in object-oriented software

被引:22
|
作者
Xing, ZC [1 ]
Stroulia, E [1 ]
机构
[1] Univ Alberta, Dept Comp Sci, Edmonton, AB T6G 2H1, Canada
关键词
D O I
10.1109/WPC.2004.1311045
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
下载
收藏
页码:34 / 43
页数:10
相关论文
共 50 条
  • [41] Measurement of intra-class & inter-class weakness for object-oriented software
    Chhabra, Jitender Kumar
    Aggarwal, K. K.
    THIRD INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY: NEW GENERATIONS, PROCEEDINGS, 2006, : 155 - +
  • [42] Systems Evolution and Software Reuse in Object-Oriented Programming and Aspect-Oriented Programming
    Przybylek, Adam
    OBJECTS, MODELS, COMPONENTS, PATTERNS, TOOLS 2011, 2011, 6705 : 163 - 178
  • [43] Automating object-oriented software refactoring
    Shankar, S
    Xu, XW
    SERP'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH AND PRACTICE, VOLS 1 AND 2, 2003, : 561 - 567
  • [44] Object-oriented software extensions in practice
    Robbes, Romain
    Rothlisberger, David
    Tanter, Eric
    EMPIRICAL SOFTWARE ENGINEERING, 2015, 20 (03) : 745 - 782
  • [45] OBJECT-ORIENTED SOFTWARE CONFIGURATION MANAGEMENT
    HARTER, R
    DR DOBBS JOURNAL, 1991, 16 (10): : 36 - &
  • [46] Object-Oriented Software for Functional Data
    Happ-Kurz, Clara
    JOURNAL OF STATISTICAL SOFTWARE, 2020, 93 (05): : 1 - 38
  • [47] Information Flow in Object-Oriented Software
    Beckert, Bernhard
    Bruns, Daniel
    Klebanov, Vladimir
    Scheben, Christoph
    Schmitt, Peter H.
    Ulbrich, Mattias
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, LOPSTR 2013, 2014, 8901 : 19 - 37
  • [48] Modern object-oriented software development
    Dunlop, AN
    1997 CERN SCHOOL OF COMPUTING, 1997, 97 (08): : 143 - 155
  • [49] Distributed concurrent object-oriented software
    Broy, M
    FROM OBJECT-ORIENTATION TO FORMAL METHODS: ESSAYS IN MEMORY OF OLE-JOHAN DAHL, 2004, 2635 : 83 - 95
  • [50] Transition to object-oriented software development
    Fayad, ME
    Tsai, WT
    Fulghum, ML
    COMMUNICATIONS OF THE ACM, 1996, 39 (02) : 108 - 121