DeepAI AI Chat
Log In Sign Up

Understanding Software Architecture Erosion: A Systematic Mapping Study

12/21/2021
by   Ruiyin Li, et al.
Wuhan University
0

Architecture erosion (AEr) can adversely affect software development and has received significant attention in the last decade. However, there is an absence of a comprehensive understanding of the state of research about the reasons and consequences of AEr, and the countermeasures to address AEr. This work aims at systematically investigating, identifying, and analyzing the reasons, consequences, and ways of detecting and handling AEr. With 73 studies included, the main results are as follows: (1) AEr manifests not only through architectural violations and structural issues but also causing problems in software quality and during software evolution; (2) non-technical reasons that cause AEr should receive the same attention as technical reasons, and practitioners should raise awareness of the grave consequences of AEr, thereby taking actions to tackle AEr-related issues; (3) a spectrum of approaches, tools, and measures has been proposed and employed to detect and tackle AEr; and (4) three categories of difficulties and five categories of lessons learned on tackling AEr were identified. The results can provide researchers a comprehensive understanding of AEr and help practitioners handle AEr and improve the sustainability of their architecture. More empirical studies are required to investigate the practices of detecting and addressing AEr in industrial settings.

READ FULL TEXT

page 1

page 14

12/26/2022

Mining Architectural Information: A Systematic Mapping Study

Context: Mining Software Repositories (MSR) has become an essential acti...
03/21/2021

Understanding Architecture Erosion: The Practitioners' Perceptive

As software systems evolve, their architecture is meant to adapt accordi...
07/20/2020

Why Research on Test-Driven Development is Inconclusive?

[Background] Recent investigations into the effects of Test-Driven Devel...
05/29/2021

Identification and Measurement of Technical Debt Requirements in Software Development: a Systematic Literature Review

Context: Technical Debt requirements are related to the distance between...
04/26/2019

Are Architectural Smells Independent from Code Smells? An Empirical Study

Background. Architectural smells and code smells are symptoms of bad cod...
01/29/2021

Résumé-Driven Development: A Definition and Empirical Characterization

Technologies play an important role in the hiring process for software p...