Understanding Architecture Erosion: The Practitioners' Perceptive
Ruiyin Li, Peng Liang, Mohamed Soliman, Paris Avgeriou

TL;DR
This study explores how software developers perceive architecture erosion, its causes, effects, and ways to detect and mitigate it, highlighting the importance of both technical and non-technical factors in its management.
Contribution
It provides insights into developers' perceptions of architecture erosion, identifying causes, symptoms, and mitigation strategies from an empirical perspective.
Findings
Developers focus on structural and runtime effects of erosion.
Non-technical factors significantly contribute to erosion.
Symptoms are used to identify erosion despite lack of dedicated tools.
Abstract
As software systems evolve, their architecture is meant to adapt accordingly by following the changes in requirements, the environment, and the implementation. However, in practice, the evolving system often deviates from the architecture, causing severe consequences to system maintenance and evolution. This phenomenon of architecture erosion has been studied extensively in research, but not yet been examined from the point of view of developers. In this exploratory study, we look into how developers perceive the notion of architecture erosion, its causes and consequences, as well as tools and practices to identify and control architecture erosion. To this end, we searched through several popular online developer communities for collecting data of discussions related to architecture erosion. Besides, we identified developers involved in these discussions and conducted a survey with 10…
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 · Advanced Software Engineering Methodologies
