Evolution patterns of software-architecture smells: An empirical study of intra- and inter-version smells

被引:0
|
作者
Gnoyke, Philipp [1 ,2 ]
Schulze, Sandro [3 ]
Krueger, Jacob [4 ]
机构
[1] Otto von Guericke Univ, Magdeburg, Germany
[2] KSB SE & Co KGaA, Pegnitz, Germany
[3] Anhalt Univ Appl Sci, Kothen, Germany
[4] Eindhoven Univ Technol, Eindhoven, Netherlands
关键词
Software quality; Technical debt; Architecture smells; Cyclic dependencies; Empirical study; Evolutionary analysis; TECHNICAL DEBT; CODE SMELLS; BAD SMELLS; MAINTENANCE;
D O I
10.1016/j.jss.2024.112170
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Architecture smells are a widely established concept to describe symptoms of software degradation by measuring perceived violations of software-design principles. As such, architecture smells can help developers assess and understand the architectural quality of their software system. However, research has rarely been concerned with how architecture smells evolve and whether they actually foster software degradation during a system's evolution. Building on our previous work in this direction, we present extended techniques for measuring architecture smells, novel visualizations, as well as an empirical study of how architecture smells evolve and what typical patterns they exhibit in 485 releases of 14 open-source systems. Among others, the results of our study indicate that especially cyclic dependencies on the class-level are prone to becoming highly complex over time, with one of the reasons being the continued merging of smells, most often resulting in tangled multi-hubs. Moreover, we found unstable dependencies to mostly grow slowly over time, whereas hub- like dependencies remain rather stable during a system's evolution. These findings are valuable for practitioners to identify and tackle system degeneration, as well as for researchers to scope new research on managing architecture smells and technical debt.
引用
收藏
页数:28
相关论文
共 15 条
  • [1] An Evolutionary Analysis of Software-Architecture Smells
    Gnoyke, Philipp
    Schulze, Sandro
    Kruger, Jacob
    2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2021), 2021, : 413 - 424
  • [2] An Empirical Study on the Evolution of Design Smells
    Aversano, Lerina
    Carpenito, Umberto
    Iammarino, Martina
    INFORMATION, 2020, 11 (07)
  • [3] An empirical study on the evolution of design smells
    Aversano L.
    Carpenito U.
    Iammarino M.
    Information (Switzerland), 2020, 11 (11)
  • [4] Refactoring Community Smells: An Empirical Study on the Software Practitioners of Bangladesh
    Tahsin, Noshin
    Sakib, Kazi
    2022 29TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC, 2022, : 422 - 426
  • [5] The secret life of test smells - an empirical study on test smell evolution and maintenance
    Dong Jae Kim
    Tse-Hsun (Peter) Chen
    Jinqiu Yang
    Empirical Software Engineering, 2021, 26
  • [6] Subjective evaluation of software evolvability using code smells:: An empirical study
    Mantyla, Mika V.
    Lassenius, Casper
    EMPIRICAL SOFTWARE ENGINEERING, 2006, 11 (03) : 395 - 431
  • [7] Subjective evaluation of software evolvability using code smells: An empirical study
    Mika V. Mäntylä
    Casper Lassenius
    Empirical Software Engineering, 2006, 11 : 395 - 431
  • [8] The secret life of test smells-an empirical study on test smell evolution and maintenance
    Kim, Dong Jae
    Chen, Tse-Hsun
    Yang, Jinqiu
    EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (05)
  • [9] Enhancing Software Robustness by Detecting and Removing Exception Handling Smells: An Empirical Study
    Hsieh, Chin-Yun
    Chen, You-Lun
    Liao, Zhen-Jie
    JOURNAL OF INTERNET TECHNOLOGY, 2018, 19 (05): : 1603 - 1611
  • [10] An exploratory study on cooccurrence of design patterns and bad smells using software metrics
    Sousa, Bruno L.
    Bigonha, Mariza A. S.
    Ferreira, Kecia A. M.
    SOFTWARE-PRACTICE & EXPERIENCE, 2019, 49 (07) : 1079 - 1113