An Evolutionary Analysis of Software-Architecture Smells
Vorschaubild nicht verfügbar
ISSN der Zeitschrift
Gesellschaft für Informatik e.V.
This paper was published in the proceedings of the 37th International Conference on Software Maintenance and Evolution (ICSME 2021). If software quality assurance is postponed or abandoned for a software system, maintenance and evolution become harder or impossible. One symptom for the degradation of system quality are Architecture Smells (ASs), which violate fundamental principles of software design. We present a study on the evolution of ASs, including how and when they foster system degradation. This provides valuable insights regarding what ASs are meaningful to assure system quality. To this end, we analyzed the evolution of three types of ASs in 14 open-source systems, with 485 versions in total. We adapted previously used indicators to assess the severity of ASs (e.g., growth, lifetime), and relate ASs to technical debt. Our results indicate that 1) ASs remain mostly stable compared to the code size of a system, 2) certain types of ASs, such as cyclic dependencies, have a greater impact on system degradation, and 3) certain properties determine how much an AS contributes to software degradation. These findings are valuable for practitioners to identify and tackle system degeneration. Moreover, they help researchers to scope new research on managing ASs and technical debt.