摘要

Software reliability growth models (SRGMs) are very important for estimating and predicting software reliability. However, because the assumptions of traditional parametric SRGMs (PSRMs) are usually not consistent with the real conditions, the prediction accuracy of PSRMs are hence not very satisfying in most cases. In contrast to PSRMs, the non-parametric SRGMs (NPSRMs) which use machine learning (ML) techniques, such as artificial neural networks (ANN), support vector machine (SVM) and genetic programming (GP), for reliability modeling can provide better prediction results across various projects. Gene Expression Programming (GEP) which is a new evolutionary algorithm based on Genetic algorithm (GA) and GP, has been acknowledged as a powerful ML and widely used in the field of data mining. Thus, we apply GEP into non-parametric software reliability modeling in this paper due to its unique and pretty characters, such as genetic encoding method, translation process of chromosomes. This new GEP-based modeling approach considers some important characters of reliability modeling in several main components of GEP, i.e. function set, terminal criteria, fitness function, and then obtains the final NPSRM (GEP-NPSRM) by training on failure data. Finally, on several real failure data-sets based on time or coverage, four case studies are proposed by respectively comparing GEP-NPSRM with several representative PSRMs, NPSRMs based on ANN, SVM and GP in the form of fitting and prediction power which show that compared with the comparison models, the GEP-NPSRM provides a significantly better power of reliability fitting and prediction. In other words, the GEP is promising and effective for reliability modeling. So far as we know, it is the first time that GEP is applied into constructing NPSRM.