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 条
  • [1] OBJECT-ORIENTED SOFTWARE EVOLUTION
    LIEBERHERR, KJ
    XIAO, C
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1993, 19 (04) : 313 - 343
  • [2] Software Evolution Understanding: Automatic Extraction of Software Identifiers Map for Object-Oriented Software Systems
    AL-msie'deen, Rafat
    Blasi, Anas H.
    JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, 2021, 17 (01) : 20 - 28
  • [3] The optimal class size for object-oriented software
    El Emam, K
    Benlarbi, S
    Goel, N
    Melo, W
    Lounis, H
    Rai, SN
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (05) : 494 - 509
  • [4] Empirically analyzing object-oriented software evolution
    Li, W
    Talburt, J
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1998, 11 (05): : 15 - 19
  • [5] Empirically analyzing object-oriented software evolution
    JOOP J Object Oriented Program, 5 (15-19):
  • [6] A formal foundation for object-oriented software evolution
    Mens, T
    IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS: SYSTEMS AND SOFTWARE EVOLUTION IN THE ERA OF THE INTERNET, 2001, : 549 - 552
  • [7] UNIFIED CLASS EVOLUTION BY OBJECT-ORIENTED VIEWS
    BRATSBERG, SE
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 645 : 421 - 439
  • [8] An object-oriented class library for medical software development
    OKane, KC
    McColligan, EE
    METHODS OF INFORMATION IN MEDICINE, 1996, 35 (4-5) : 343 - 347
  • [9] Dynamical Evolution Analysis of the Object-Oriented Software Systems
    Li, Huan
    Huang, Beibei
    Lu, Jinhu
    2008 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-8, 2008, : 3030 - 3035
  • [10] Characterizing the Evolution of Size and Inheritance in Object-Oriented Software
    Sousa, Bruno L.
    Bigonha, Mariza A. S.
    Ferreira, Kecia A. M.
    Franco, Glaura C.
    PROCEEDINGS OF THE 20TH BRAZILIAN SYMPOSIUM ON SOFTWARE QUALITY, SBOS 2021, 2021,