This Article 
 Bibliographic References 
 Add to: 
Analyzing Error-Prone System Structure
February 1991 (vol. 17 no. 2)
pp. 141-152

Using measures of data interaction called data bindings, the authors quantify ratios of coupling and strength in software systems and use the ratios to identify error-prone system structures. A 148000 source line system from a prediction environment was selected for empirical analysis. Software error data were collected from high-level system design through system testing and from field operation of the system. The authors use a set of five tools to calculate the data bindings automatically and use a clustering technique to determine a hierarchical description of each of the system's 77 subsystems. A nonparametric analysis of variance model is used to characterize subsystems and individual routines that had either many or few errors or high or low error correction effort. The empirical results support the effectiveness of the data bindings clustering approach for localizing error-prone system structure.

[1] V. R. Basili, "Quantitative evaluation of software engineering methodoloy," inProc. First Pan Pacific Computer Conf., Melbourne, Australia, Sept. 10-13, 1985; also available as Tech. Rep. TR-1519, Dep. Comput. Sci., Univ. Maryland, College Park, July 1985.
[2] L. A. Belady and C. J. Evangelisti, "System partitioning and its measure,"J. Syst. Software, vol. 2, no. 1, pp. 23-29, Feb. 1982.
[3] V. R. Basili and E. E. Katz, "Metrics of interest in an ada development." inProc. IEEE Workshop Software Engineering Technology Transfer, Miami, FL, Apr. 1983, pp. 22-29.
[4] L. A. Belady and M. M. Lehman, "A model of large program development,"IBM Syst. J., vol. 3, pp. 225-252, 1976.
[5] B. W. Boehm,Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[6] 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.
[7] V. R. Basili and R. W. Selby, "Data collection and analysis in software research and management," inProc. Amer. Statist. Assoc. and Biometric Soc. Joint Statistical Meetings, Philadelphia, PA, Aug. 13-16, 1984.
[8] V. R. Basili, R. W. Selby, and T. Y. Phillips, "Metric analysis and data validation across Fortran projects,"IEEE Trans. Software Eng., vol. SE-9, no. 6, pp. 652-663, Nov. 1983.
[9] V. R. Basili and A. J. Turner, "Iterative enhancement: A practical technique for software development,"IEEE Trans. Software Eng., vol. SE-1, no. 4, Dec. 1975.
[10] V. R. Basili and D. M. Weiss, "A methodology for collecting valid software engineering data,"IEEE Trans. Software Eng., vol. SE-10, no. 6, pp. 728-738, Nov. 1984.
[11] T. Emerson, "A discriminant metric for module cohesion," inProc. Seventh Int. Conf. Software Eng., Orlando, FL, 1984, pp. 294-303.
[12] M. E. Fagan, "Design and code inspections to reduce errors in program development,"IBM Syst. J., vol. 15, no. 3, pp. 182-211, 1976.
[13] M. E. Fagan, "Advances in software inspections,"IEEE Trans. Software Eng., vol. SE-12, no. 5, pp. 744-751, July 1986.
[14] D. Hutchens and V.R. Basili, "System Structure Analysis: Clustering with Data Bindings,"IEEE Trans. Software Eng., Vol. SE-11, No. 8, Aug. 1985, pp. 749-757.
[15] S. Henry and D. Kafura, "Software quality metrics based on interconnectivity,"J. Syst. Software, vol. 2, no. 2, pp. 121-131, 1981.
[16] Statistical Analysis System (SAS) User's Guide. SAS Inst., Cary, NC, Tech. Rep., 1982.
[17] N. Jardine and R. Sibson,Mathematical Taxonomy. New York: Wiley, 1971.
[18] B. W. Kernighan and D. M. Ritchie,The C Programming Language. Englewood Cliffs, NJ: Prentice-Hall, 1978.
[19] H. Scheffe,The Analysis of Variance. New York: Wiley, 1959.
[20] R. W. Selby, "Evaluations of software technologies: Testing, cleanroom, and metrics," Ph.D. dissertation, Dep. Comput. Sci., Univ. Maryland, College Park, Tech. Rep. TR-1500, 1985.
[21] W. P. Stevens, G. J. Myers, and L. L. Constantine, "Structural design,"IBM Syst. J., vol. 13, no. 2, pp. 115-139, 1974.
[22] 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:
error-prone system structure; data interaction; data bindings; software systems; prediction environment; empirical analysis; clustering technique; nonparametric analysis of variance model; error analysis; program diagnostics; software metrics
R.W. Selby, V.R. Basili, "Analyzing Error-Prone System Structure," IEEE Transactions on Software Engineering, vol. 17, no. 2, pp. 141-152, Feb. 1991, doi:10.1109/32.67595
Usage of this product signifies your acceptance of the Terms of Use.