Predicting Software Errors, During Development, Using Nonlinear Regression Models: A Comparative Study


Nonlinear regression model; Program fault; Software metric; Software quality


Accurately predicting the number of faults in program modules is a major problem in quality control of a large software system. Our technique is to fit a nonlinear regression model to the number of faults in a program module (dependent variable) in terms of appropriate software metria. This model is to be used at the beginning of the test phase of software development. Our aim is, not to build a definitive model, but to investigate and evaluate the performance of 4 estimation techniques used to determine the model parameters. Two empirical examples are presented. The software crisis focuses attention of software engineers on the research of systematic techniques for software development in an attempt to make software systems more reliable. This calls for more researcb into building better regression models and estimation techniqws. The method of least squares is widely used by software reliability engineers to estimate the parameters of the model. However, perception of other estimation techniques like relative least squares (RLS), least absolute value, and minimum relative error (MRE) opens a broad new spectrum in our search to obtain models possessing superior quality of prediction. Results from average relative error (ARE) values recorded in the tables suggest that RLS & MRE procedures possess good properties from the standpoint of predictive capability. Moreover, sufficient conditions are given to ensure that these estimation procedures demonstrate strong consistency in parameter estimation for nonlinear models. Whenever the data are approximately normally distributed, then LS may very well possess superior predictive quality. However, in most practical applications there are important departures from normality; thus IUS & MRE appear to be more robust. Our fmdings suggest an empirical basis for use of RLS & MRE estimators in order to identify fault-prone program modules. © 1992 IEEE

Publication Date


Publication Title

IEEE Transactions on Reliability





Number of Pages


Document Type




Personal Identifier


DOI Link


Socpus ID

0026923655 (Scopus)

Source API URL


This document is currently not available here.