This Article 
 Bibliographic References 
 Add to: 
An Empirical Study of a Model for Program Error Prediction
January 1989 (vol. 15 no. 1)
pp. 82-86

A model is presented for estimating the number of errors remaining in a program at the beginning of the testing phase of development. The relationships between the errors occurring in a program and the various factors that affect software development, such as programmer skill, are statistically analyzed. The model is then derived using the factors significantly identified in the analysis. On the basis of data collected during the development of large-scale software systems, it is shown that factors such as frequency of program specification change, programmer skill, and volume of program design documentation are significant and that the model based on these factors is more reliable than conventional error prediction methods based on program size alone.

[1] T. Sunohara, A. Takano, K. Uehara, and T. Ohkawa, "Program complexity measure for software development management," inProc. 5th Int. Conf. on Software Eng., 1981, pp. 100-106.
[2] V. R. Basili and D. H. Hutchens, "An empirical study of a syntactic complexity family,"IEEE Trans. Software Eng., vol. SE-9, no. 6, pp. 664-672, Nov. 1983.
[3] D. Potier, J. Albin, V. Ferreol, and A. Bilodeau, "Experiments with computer software complexity and reliability," inProc. 6th Int. Conf. on Software Eng., 1982, pp. 94-101.
[4] 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.
[5] J. L. Elshoff, "Characteristic program complexity measure," inProc. 7th Int. Conf. Software Eng., Mar. 1984, pp. 288-293.
[6] P. G. Harmer and G. D. Frewin, "M. H. Halstead's software science--A critical examination," inProc. 6th Int. Conf. Software Eng., Sept. 1982, pp. 197-206.
[7] M. Takahashi, A. Nagase, and K. Kuroda, "A complexity measure derivation method based on analysis of complexity factors in program structure,"Rev. Elec. Commun. Lab. NTT, vol. 32, no. 1, pp. 41- 48, Jan. 1984.
[8] N. F. Schneidewind and H. M. Hoffman, "An experiment in software error data collection and analysis,"IEEE Trans. Software Eng., vol. SE-5, no. 3, pp. 276-286, May 1979.
[9] S. Hanata, T. Satoh, and M. Inada, "Documentation technology for packing hierarchical function, data, and control structures," inProc. IEEE COMPCON Fall 81, Sept. 1981, pp. 284-290.
[10] N. Terashima, R. Hosoya, and M. Takahashi, "SYSL--System description language,"Rev. Elect. Commun. Lab. NTT, vol. 23, nos. 9-10, pp. 1047-1056, Sept.-Oct. 1975.
[11] L. H. Putnum, "A general empirical solution to the macro software sizing and estimation problem,"IEEE Trans. Software Eng., vol. SE-4, no. 4, pp. 345-361, July 1978.
[12] T. J. McCabe, "A complexity measure,"IEEE Trans. Software Eng., vol. SE-2, no. 4, pp. 308-320, Dec. 1976.
[13] M. Halstead,Elements of Software Science. New York: Elsevier-North Holland, 1977.
[14] F. Akiyama, "An example of software system debugging," inProc. IFIP Congress, Aug. 1971, pp. 353-358.
[15] L. M. Ottenstein, "Quantitative estimates of debugging requirements,"IEEE Trans. Software Eng., vol. SE-5, no. 5, pp. 504-514, Sept. 1979.
[16] B. W. Boehm, "Improving software productivity," inProc. IEEE COMPCON Fall 81, Sept. 1981, pp. 2-16.

Index Terms:
program error prediction; testing phase; software development; programmer skill; large-scale software systems; program specification change; program design documentation; program testing; software engineering.
M. Takahashi, Y. Kamayachi, "An Empirical Study of a Model for Program Error Prediction," IEEE Transactions on Software Engineering, vol. 15, no. 1, pp. 82-86, Jan. 1989, doi:10.1109/32.21729
Usage of this product signifies your acceptance of the Terms of Use.