Architectural Degradation: Definition, Motivations, Measurement and Remediation Approaches
By: Noman Ahmad , Ruoyu Su , Matteo Esposito and more
Potential Business Impact:
Fixes old computer code to make it last longer.
Architectural degradation, also known as erosion, decay, or aging, impacts system quality, maintainability, and adaptability. Although widely acknowledged, current literature shows fragmented definitions, metrics, and remediation strategies. Our study aims to unify understanding of architectural degradation by identifying its definitions, causes, metrics, tools, and remediation approaches across academic and gray literature. We conducted a multivocal literature review of 108 studies extracting definitions, causes, metrics, measurement approaches, tools, and remediation strategies. We developed a taxonomy encompassing architectural, code, and process debt to explore definition evolution, methodological trends, and research gaps. Architectural degradation has shifted from a low-level issue to a socio-technical concern. Definitions now address code violations, design drift, and structural decay. Causes fall under architectural (e.g., poor documentation), code (e.g., hasty fixes), and process debt (e.g., knowledge loss). We identified 54 metrics and 31 measurement techniques, focused on smells, cohesion/coupling, and evolution. Yet, most tools detect issues but rarely support ongoing or preventive remediation. Degradation is both technical and organizational. While detection is well-studied, continuous remediation remains lacking. Our study reveals missed integration between metrics, tools, and repair logic, urging holistic, proactive strategies for sustainable architecture.
Similar Papers
What Quality Engineers Need to Know about Degradation Models
Applications
Predicts when things will break to fix them.
Quantitative Analysis of Technical Debt and Pattern Violation in Large Language Model Architectures
Software Engineering
AI can build software that gets messy fast.
Detection, Classification and Prevalence of Self-Admitted Aging Debt
Software Engineering
Helps fix old computer code before it breaks.