Architectural Decay as Predictor of Issue- and Change-Proneness
This addresses software maintenance costs for developers by providing predictive tools, though it is incremental as it builds on known correlations between architectural smells and issues.
The paper tackles predicting future issue- and change-proneness in software systems by using current architectural decay as a predictor, showing accurate models from data of 10 open-source systems and cross-system prediction when historical data is unavailable.
Architectural decay imposes real costs in terms of developer effort, system correctness, and performance. Over time, those problems are likely to be revealed as explicit implementation issues (defects, feature changes, etc.). Recent empirical studies have demonstrated that there is a significant correlation between architectural "smells" -- manifestations of architectural decay -- and implementation issues. In this paper, we take a step further in exploring this phenomenon. We analyze the available development data from 10 open-source software systems and show that information regarding current architectural decay in these systems can be used to build models that accurately predict future issue-proneness and change-proneness of the systems' implementations. As a less intuitive result, we also show that, in cases where historical data for a system is unavailable, such data from other, unrelated systems can provide reasonably accurate issue- and change-proneness prediction capabilities.