A novel composite model approach to improve software quality prediction

  • Authors:
  • Salah Bouktif;Faheem Ahmed;Issa Khalil;Giuliano Antoniol

  • Affiliations:
  • Faculty of Information Technology, United Arab Emirates University, United Arab Emirates and Ecole Polytechnique de Montreal, Montreal, Canada;Faculty of Information Technology, United Arab Emirates University, United Arab Emirates;Faculty of Information Technology, United Arab Emirates University, United Arab Emirates;Ecole Polytechnique de Montreal, Montreal, Canada

  • Venue:
  • Information and Software Technology
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context:: How can quality of software systems be predicted before deployment? In attempting to answer this question, prediction models are advocated in several studies. The performance of such models drops dramatically, with very low accuracy, when they are used in new software development environments or in new circumstances. Objective: The main objective of this work is to circumvent the model generalizability problem. We propose a new approach that substitutes traditional ways of building prediction models which use historical data and machine learning techniques. Method: In this paper, existing models are decision trees built to predict module fault-proneness within the NASA Critical Mission Software. A genetic algorithm is developed to combine and adapt expertise extracted from existing models in order to derive a ''composite'' model that performs accurately in a given context of software development. Experimental evaluation of the approach is carried out in three different software development circumstances. Results: The results show that derived prediction models work more accurately not only for a particular state of a software organization but also for evolving and modified ones. Conclusion: Our approach is considered suitable for software data nature and at the same time superior to model selection and data combination approaches. It is then concluded that learning from existing software models (i.e., software expertise) has two immediate advantages; circumventing model generalizability and alleviating the lack of data in software-engineering.