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 条
  • [31] Tool support for systematic class identification in object-oriented software architectures
    Barber, K.Suzanne
    Graser, Thomas J.
    Proceedings of the Conference on Technology of Object-Oriented Languages and Systems, TOOLS, 2000, (TOOLS-PACIFIC2000): : 82 - 93
  • [32] Analysis of high structural class coupling in object-oriented software systems
    Savic, Milos
    Ivanovic, Mirjana
    Radovanovic, Milos
    COMPUTING, 2017, 99 (11) : 1055 - 1079
  • [33] Tool support for systematic class identification in object-oriented software architectures
    Barber, KS
    Graser, TJ
    37TH INTERNATIONAL CONFERENCE ON TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS, PROCEEDINGS, 2000, : 82 - 93
  • [34] TACCLE: A methodology for object-oriented software testing at the class and cluster levels
    Chen, HY
    Tse, TH
    Chen, TY
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2001, 10 (01) : 56 - 109
  • [35] A New Technique for Utility-Class Detection in Object-Oriented Software
    Al-Rousan, Thamer
    Abualese, Hasan
    TEM JOURNAL-TECHNOLOGY EDUCATION MANAGEMENT INFORMATICS, 2019, 8 (02): : 354 - 363
  • [36] Analysis of high structural class coupling in object-oriented software systems
    Miloš Savić
    Mirjana Ivanović
    Miloš Radovanović
    Computing, 2017, 99 : 1055 - 1079
  • [37] Reengineering of Object-Oriented Software into Aspect-Oriented Ones Supported by Class Models
    Parreira Junior, Paulo Afonso
    Penteado, Rosangela Dellosso
    Viana, Matheus Carvalho
    Durelli, Rafael Serapilha
    de Camargo, Valter Vieira
    Xavier Costa, Heitor Augustus
    ENTERPRISE INFORMATION SYSTEMS, ICEIS 2013, 2014, 190 : 296 - 313
  • [38] Object-oriented database evolution
    Lagorce, JB
    Stockus, A
    Waller, E
    DATABASE THEORY - ICDT'97, 1997, 1186 : 379 - 393
  • [39] Object-oriented architectural evolution
    Borne, I
    Demeyer, S
    Galal, GH
    OBJECT-ORIENTED TECHNOLOGY, 1999, 1743 : 57 - 79
  • [40] Object-oriented architectural evolution
    Borne, I
    Galal, GH
    Evans, H
    Andrade, LF
    OBJECT-ORIENTED TECHNOLOGY, PROCEEDINGS, 2000, 1964 : 138 - 149