Characterizing the Evolution of Size and Inheritance in Object-Oriented Software

被引:0
|
作者
Sousa, Bruno L. [1 ]
Bigonha, Mariza A. S. [1 ]
Ferreira, Kecia A. M. [2 ]
Franco, Glaura C. [3 ]
机构
[1] Univ Fed Minas Gerais, Dept Comp Sci, Belo Horizonte, MG, Brazil
[2] CEFET MG, Dept Comp, Belo Horizonte, MG, Brazil
[3] Univ Fed Minas Gerais, Dept Stat, Belo Horizonte, MG, Brazil
关键词
Software Evolution; Software Metrics; Inheritance; Size; Time Series; METRICS; PROGRAMS;
D O I
10.1145/3493244.3493247
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software evolution consists of adapting, correcting, and updating a system. It is widely known that the systems became increasingly complex and challenging to be maintained over their evolution. However, the way the systems' internal structure evolves is not known in detail. Understanding how the internal software structure evolves is essential to help developers better plan, manage, and perform software maintenance tasks. In this work, we present an empirical analysis to investigate how the internal structure of object-oriented systems evolves from the perspective of inheritance hierarchy and size. Besides, we analyzed the set of classes within the systems that affect these dimensions' evolution and how such classes evolve. We used a methodology based on time series, linear regression techniques, and trend tests to analyze the evolution of object-oriented systems. Using this methodology, we identified the function that better explains how the size and the inheritance tree evolve. This study revealed eight software evolution properties, among them: inheritance hierarchy tends to increase in depth and decrease in breadth; inheritance hierarchy depth and the size of classes grow according to a linear model. The empirical evidence found in this work provides a fine-grained knowledge of how object-oriented software systems' internal structure evolves from internal dimensions.
引用
收藏
页数:10
相关论文
共 50 条
  • [1] OBJECT-ORIENTED SOFTWARE EVOLUTION
    LIEBERHERR, KJ
    XIAO, C
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1993, 19 (04) : 313 - 343
  • [2] Evaluating the effect of inheritance on the maintainability of object-oriented software
    Daly, J
    Brooks, A
    Miller, J
    Roper, M
    Wood, M
    [J]. EMPIRICAL STUDIES OF PROGRAMMERS: SIXTH WORKSHOP, 1996, : 39 - 57
  • [3] Characterizing Large Object-oriented Software: A Topological Perspective
    Xie, Qing
    [J]. 2010 INTERNATIONAL CONFERENCE ON DISPLAY AND PHOTONICS, 2010, 7749
  • [4] SOFTWARE SIZE ESTIMATION OF OBJECT-ORIENTED SYSTEMS
    LARANJEIRA, LA
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1990, 16 (05) : 510 - 522
  • [5] Measuring the size of Object-Oriented software applications
    Liou, JC
    [J]. PROCEEDINGS OF THE 17TH INTERNATIONAL SYMPOSIUM ON COMPUTER AND INFORMATION SCIENCES, 2003, : 339 - 343
  • [6] The optimal class size for object-oriented software
    El Emam, K
    Benlarbi, S
    Goel, N
    Melo, W
    Lounis, H
    Rai, SN
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (05) : 494 - 509
  • [7] Understanding class evolution in object-oriented software
    Xing, ZC
    Stroulia, E
    [J]. IWPC 2004: 12TH IEEE INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 2004, : 34 - 43
  • [8] Empirically analyzing object-oriented software evolution
    Li, W
    Talburt, J
    [J]. JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1998, 11 (05): : 15 - 19
  • [9] A formal foundation for object-oriented software evolution
    Mens, T
    [J]. IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS: SYSTEMS AND SOFTWARE EVOLUTION IN THE ERA OF THE INTERNET, 2001, : 549 - 552
  • [10] Decomposition of inheritance hierarchy DAGs for object-oriented software metrics
    Shih, TK
    Chung, CM
    Wang, CC
    Pai, WC
    [J]. INTERNATIONAL CONFERENCE AND WORKSHOP ON ENGINEERING OF COMPUTER-BASED SYSTEMS, PROCEEDINGS, 1997, : 238 - 245