Genetic programming for cross-release fault count predictions in large and complex software projects

Document type: Bookchapters
Peer reviewed: Yes
Author(s): Wasif Afzal, Richard Torkar, Robert Feldt, Tony Gorschek
Title: Genetic programming for cross-release fault count predictions in large and complex software projects
Book: Evolutionary Computation and Optimization Algorithms in Software Engineering: Applications and Techniques
Year: 2010
Editor: Monica Chis
ISBN: 9781615208098
Publisher: IGI Global, Hershey, USA
City: Hershey
URI/DOI: 10.4018/978-1-61520-809-8
Organization: Blekinge Institute of Technology
Department: School of Computing (Sektionen för datavetenskap och kommunikation)
School of Computing S-371 79 Karlskrona
+46 455 38 50 00
http://www.bth.se/com
Authors e-mail: waf@bth.se, rto@bth.se, rfd@bth.se, tgo@bth.se
Language: English
Abstract: Software fault prediction can play an important role in ensuring software quality through efficient resource allocation. This could, in turn, reduce the potentially high consequential costs due to faults. Predicting faults might be even more important with the emergence of short-timed and multiple software releases aimed at quick delivery of functionality. Previous research in software fault prediction has indicated that there is a need i) to improve the validity of results by having comparisons among number of data sets from a variety of software, ii) to use appropriate model evaluation measures and iii) to use statistical testing procedures. Moreover, cross-release prediction of faults has not yet achieved sufficient attention in the literature. In an attempt to address these concerns, this paper compares the quantitative and qualitative attributes of 7 traditional and machine-learning techniques for modeling the cross-release prediction of fault count data. The comparison is done using extensive data sets gathered from a total of 7 multi-release open-source and industrial software projects. These software projects together have several years of development and are from diverse application areas, ranging from a web browser to a robotic controller software. Our quantitative analysis suggests that genetic programming (GP) tends to have better consistency in terms of goodness of fit and accuracy across majority of data sets. It also has comparatively less model bias. Qualitatively, ease of configuration and complexity are less strong points for GP even though it shows generality and gives transparent models. Artificial neural networks did not perform as well as expected while linear regression gave average predictions in terms of goodness of fit and accuracy. Support vector machine regression and traditional software reliability growth models performed below average on most of the quantitative evaluation criteria while remained on average for most of the qualitative measures.
Subject: Software Engineering\General
Computer Science\Artificial Intelligence
Keywords: Fault prediction, Multi-release, Empirical, Machine learning
Note: http://new.igi-global.com/Bookstore/TitleDetails.aspx?TitleId=37355
Edit