This Article 
 Bibliographic References 
 Add to: 
The Detection of Fault-Prone Programs
May 1992 (vol. 18 no. 5)
pp. 423-433

The use of the statistical technique of discriminant analysis as a tool for the detection of fault-prone programs is explored. A principal-components procedure was employed to reduce simple multicollinear complexity metrics to uncorrelated measures on orthogonal complexity domains. These uncorrelated measures were then used to classify programs into alternate groups, depending on the metric values of the program. The criterion variable for group determination was a quality measure of faults or changes made to the programs. The discriminant analysis was conducted on two distinct data sets from large commercial systems. The basic discriminant model was constructed from deliberately biased data to magnify differences in metric values between the discriminant groups. The technique was successful in classifying programs with a relatively low error rate. While the use of linear regression models has produced models of limited value, this procedure shows great promise for use in the detection of program modules with potential for faults.

[1] V. R. Basili and B. T. Perricone, "Software errors and complexity: An empirical investigation,"Commun. ACM, vol. 27, no. 1, p. 42-52, Jan. 1984.
[2] L. J. Chumura, A. F. Norcio, and T. J. Wicinski, "Evaluating software design processes by analyzing change data over time,"IEEE Trans. Soffware Eng., vol. 16, pp. 729-740, July 1990.
[3] S. G. Crawford, A. A. McIntosh, and D. Pregibon, "An analysis of static metrics and faults in C software,"J. Syst. Software, vol. 5, pp. 37-48, 1985.
[4] W.R. Dillon and M. Goldstein,Multivariate Analysis. New York: Wiley, 1984.
[5] A. Endres, "An analysis of errors and their causes in system programs," inProc. 1975 Int. Conf. Rel. Software, Apr. 1975, pp. 327-336.
[6] M. Halstead,Elements of Software Science. New York: Elsevier-North Holland, 1977.
[7] H. A. Jensen and K. Vairavan, "An experimental study of software metrics for real time software,"IEEE Trans. Software Eng., vol. SE-11, pp. 231-234, 1985.
[8] T. M. Khoshgoftaar and J. C. Munson, "Predicting software development errors using software complexity metrics,"IEEE J. Selected Areas Commun., vol. 8, pp. 253-261, 1990.
[9] R. K. Lind and K. Vairavan, "An experimental investigation of software metrics and their relationship to software development effort,"IEEE Trans. Software Eng., vol. 15, pp. 649-651, May 1989.
[10] M. Lipow, "Number of faults per line of code,"IEEE Trans. Software Eng., vol. SE-8, pp. 437-439, 1982.
[11] T. J. McCabe, "A complexity measure,"IEEE Trans. Software Eng., vol. SE-2, pp. 308-320, 1976.
[12] J. C. Munson and T. M. Khoshgoftaar, "The dimensionality of program complexity," inProc. 11th Ann. Int. Conf. on Software Eng., May 1989, pp. 245-253.
[13] J. C. Munson and T. M. Khoshgoftaar, "Regression modeling of software quality: an empirical investigation,"Inform. Software Tech., vol. 32, no. 2, pp. 106-114, Mar. 1990.
[14] J.C. Munson and T.M. Khoshgoftaar, "Applications of a relative complexity metric for software project management,"J. Syst. Software, vol. 12, no. 3, pp. 283-291, 1990.
[15] V. Rodriguez and W. T. Tsai, "Evaluation of software metrics using discriminant analysis,"Inform. Software Tech., vol. 29, no. 3, pp. 245-251, 1987.
[16] N. F. Schneidewind, "Validating software metrics: producing quality discriminators," inProc. Int. Symp. of Software Reliabil. Eng.(Austin, TX), May 1991, pp. 225-232.
[17] V. Y. Shen, T. J. Yu, S. M. Thebaut, and L. R. Paulsen, "Identifying error-prone software--An empirical study,"IEEE Trans. Software Eng., vol. SE-11, no. 4, pp. 317-324, Apr. 1985.

Index Terms:
statistical technique; discriminant analysis; fault-prone programs; principal-components procedure; simple multicollinear complexity metrics; uncorrelated measures; orthogonal complexity domains; group determination; quality measure; large commercial systems; deliberately biased data; metric values; relatively low error rate; linear regression models; program modules; computational complexity; program testing; quality control; software metrics; software reliability
J.C. Munson, T.M. Khoshgoftaar, "The Detection of Fault-Prone Programs," IEEE Transactions on Software Engineering, vol. 18, no. 5, pp. 423-433, May 1992, doi:10.1109/32.135775
Usage of this product signifies your acceptance of the Terms of Use.