Abstract

Abstract Context Software stability is an important object-oriented design characteristic that contributes to the maintainability quality attribute. Software stability quantifies a given systems sensitivity to change between different versions. Stable software tends to reduce the maintenance effort. Assessing software stability during the object-oriented design phase is one of the measures to obtain maintainable software. To determine software stability, there are several metrics at the architecture, system and class levels, but few studies have investigated stability at the package level. Objective In this paper, we propose a new package stability metrics (PSM) based on the notion of change between package contents, intra-package connections and inter-package connections. Method We validate the PSM theoretically and empirically. The theoretical validation is based on a study of the mathematical properties of the metrics. The empirical validation is carried out using five open source software programs and we also present a comparison with comparable existing stability metrics packages. For the empirical validation, we perform correlation analysis, principal component analysis and prediction analysis. Results Correlation analysis shows that our proposed metrics provides a better indication of package stability than the existing stability metrics and they are negatively correlated with the maintenance effort. Principal component analysis shows that the proposed metrics captures new dimensions of package stability and helps to increase the maintenance prediction accuracy. Conclusion We found there was a negative correlation between our metric and maintenance effort. We also found a positive correlation between the existing package stability metrics which are based on changes in lines of code and class names.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call