Symptoms of Architecture Erosion in Code Reviews: A Study of Two OpenStack Projects
Ruiyin Li, Mohamed Soliman, Peng Liang, Paris Avgeriou

TL;DR
This study investigates how code reviews in OpenStack projects reveal architecture erosion symptoms, their trends, and how developer actions impact erosion, highlighting code review as a practical tool for early detection and mitigation.
Contribution
It provides an empirical analysis of erosion symptoms in code reviews within OpenStack projects, revealing their prevalence, trends, and the effectiveness of reviews in addressing erosion.
Findings
Erosion symptoms are infrequent but notable in code reviews.
Most erosion symptoms are architectural violations, duplicates, and cyclic dependencies.
Erosion symptoms tend to decrease over time, indicating stabilization.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Open Source Software Innovations
