A systematic literature review on empirical studies towards prediction of software maintainability

  • PDF / 1,880,691 Bytes
  • 23 Pages / 595.276 x 790.866 pts Page_size
  • 67 Downloads / 194 Views

DOWNLOAD

REPORT


METHODOLOGIES AND APPLICATION

A systematic literature review on empirical studies towards prediction of software maintainability Ruchika Malhotra1

· Kusum Lata2

© Springer-Verlag GmbH Germany, part of Springer Nature 2020

Abstract Software maintainability prediction in the earlier stages of software development involves the construction of models for the accurate estimation of maintenance effort. This guides the software practitioners to manage the resources optimally. This study aims at systematically reviewing the prediction models from January 1990 to October 2019 for predicting software maintainability. We analyze the effectiveness of these models according to various aspects. To meet the goal of the research, we have identified 36 research papers. On investigating these papers, we found that various machine learning (ML), statistical (ST), and hybridized (HB) techniques have been applied to develop prediction models to predict software maintainability. The significant finding of this review is that the overall performance of ML-based models is better than that of ST models. The use of HB techniques for prediction of software maintainability is limited. The results of this review revealed that software maintainability prediction (SMP) models developed using ML techniques outperformed models developed using ST techniques. Also, the prediction performance of few models developed using HB techniques is encouraging, yet no conclusive results about the performance of HB techniques could be reported because different HB techniques are applied in a few studies. Keywords Software maintenance · Software maintainability · Machine learning techniques · Statistical techniques · Hybridized techniques

1 Introduction Due to innovation, advancement in technology, and an increase in customers’ requirements, the complexity of software systems is continuing to increase. As a result, maintaining such complex software systems while minimizing the side effects of changes is a big challenge (Barry 1976). The majority of resources in many software organizations are consumed as a part of maintenance activity (Basili et al. 1996), and this phase accounts for more than 60% cost in software development (Somerville 2012). Thus, software maintenance Communicated by V. Loia.

B

Ruchika Malhotra [email protected] Kusum Lata [email protected]

1

Discipline of Software Engineering, Department of Computer Science and Engineering, Delhi Technological University, Delhi, India

2

Department of Computer Science and Engineering, Delhi Technological University, Delhi, India

being one of the pricey phases in the life cycle of software development requires the attention of researchers to accurately predict the software maintainability in the earlier stages of software development to take the decisions regarding resource allocation optimally and to develop a costeffective, good-quality and maintainable software. In this direction, considerable effort has been put by the researchers over the years to provide various forms of measure