Symptoms of architecture erosion in code reviews: A study of two OpenStack projects

Ruiyin Li, Mohamed Soliman*, Peng Liang*, Paris Avgeriou

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

8 Citations (Scopus)
73 Downloads (Pure)

Abstract

The phenomenon of architecture erosion can negatively impact the maintenance and evolution of software systems, and manifest in a variety of symptoms during software development. While erosion is often considered rather late, its symptoms can act as early warnings to software developers, if detected in time. In addition to static source code analysis, code reviews can be a source of detecting erosion symptoms and subsequently taking action. In this study, we investigate the erosion symptoms discussed in code reviews, as well as their trends, and the actions taken by developers. Specifically, we conducted an empirical study with the two most active Open Source Software (OSS) projects in the OpenStack community (i.e., Nova and Neutron). We manually checked 21,274 code review comments retrieved by keyword search and random selection, and identified 502 code review comments (from 472 discussion threads) that discuss erosion. Our findings show that (1) the proportion of erosion symptoms is rather low, yet notable in code reviews and the most frequently identified erosion symptoms are architectural violation, duplicate functionality, and cyclic dependency; (2) the declining trend of the identified erosion symptoms in the two OSS projects indicates that the architecture tends to stabilize over time; and (3) most code reviews that identify erosion symptoms have a positive impact on removing erosion symptoms, but a few symptoms still remain and are ignored by developers. The results suggest that (1) code review provides a practical way to reduce erosion symptoms; and (2) analyzing the trend of erosion symptoms can help get an insight about the erosion status of software systems, and subsequently avoid the potential risk of architecture erosion.
Original languageEnglish
Title of host publicationProceedings of the 19th IEEE International Conference on Software Architecture (ICSA)
Pages24-35
Number of pages12
ISBN (Electronic)978-1-6654-1728-0
DOIs
Publication statusPublished - 12-Mar-2022
Event 2022 IEEE 19th International Conference on Software Architecture (ICSA) - Honolulu, HI, United States
Duration: 12-Mar-202215-Mar-2022

Conference

Conference 2022 IEEE 19th International Conference on Software Architecture (ICSA)
Country/TerritoryUnited States
CityHonolulu, HI
Period12/03/202215/03/2022

Keywords

  • Architecture Erosion
  • Code Review
  • Open Source Software
  • OpenStack

Fingerprint

Dive into the research topics of 'Symptoms of architecture erosion in code reviews: A study of two OpenStack projects'. Together they form a unique fingerprint.

Cite this