Abstract

Software maintainability is often estimated by software developers and experts at the design phase to reduce maintenance efforts of software products. It is believed that the maintainability metrics help in throwing some light on the maintenance efforts of a software system. This paper studies the effectiveness of metrics of two maintainability components, namely modifiability and understandability in assessing maintenance efforts at the early design phase. To perform the empirical study, first of all, modifiability and understandability are estimated using certain design level metrics. A dataset of 776 class hierarchies from 20 different Java open source projects is considered with 12 different design level metrics as the independent variables and modifiability and understandability metrics as the dependent variables. Homogeneous as well as heterogeneous ensembles of MLR, MLP, ANN, and M5P methods are employed to predict maintainability of class hierarchies using design level metric dataset and the metric dataset of the two maintainability metrics. The concept of ROC curve for regression, ROC space and AOC introduced recently by Hernandez-Orallo (Pattern Recogn 46:3395–3411, 2013) is used to determine the under/overestimation of individual models and their ensembles. It is concluded that most of the methods underestimate software maintainability that may lead to higher maintenance cost at a later stage and may also adversely affect the reputation of software companies. While modifiability is mostly underestimated, nothing could be concluded for understandability. The study is validated with the help of two available real datasets QUES and UIMS containing records of actual maintenance efforts and design level metrics dataset. These studies suggest that the definition of software modifiability metric needs a review.

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