This Article 
 Bibliographic References 
 Add to: 
Projecting Software Defects from Analyzing Ada Designs
November 1992 (vol. 18 no. 11)
pp. 988-997

Models for projecting software defects from analyses of Ada designs are described. The research is motivated by the need for technology to analyze designs for their likely effect on software quality. The models predict defect density based on product and process characteristics. Product characteristics are extracted from a static analysis of Ada subsystems, focusing on context coupling, visibility, and the import-export of declarations. Process characteristics provide for effects of reuse level and extent of changes. Multivariate regression analyses were conducted with empirical data from industry/government-developed projects: 16 Ada subsystems totaling 149000 source lines of code. The resulting models explain 63-74% of the variation in defect density of the subsystems. Context coupling emerged as a consistently significant variable in the models.

[1] W.W. Agresti, W. M. Evanco, and M. C. Smith, "An approach to software quality prediction from Ada designs," inProc. Second Annual Software Quality Workshop, Aug. 1990.
[2] W. W. Agresti, "Early experiences building a software quality prediction model," inProc. Fifteenth Annual Software Engineering Workshop, NASA/GSFC, Nov. 1990.
[3] V.R. Basili and E. E. Katz, "Metrics of interest in Ada development," inProc. IEEE Workshop in Software Engineering Technology Transfer, pp. 22-29, 1983.
[4] T.P. Bowen, G. B. Wigle, and J. T. Tsai, "Specification of software quality attributes,"RADC-TR-85-37, vol. 1, Rome Air Development Center, 1985.
[5] G.N. Bundy and D. E. Mularz, "Experiences wth the design assessment of large Ada systems," inProc. First Int. Conf. Software Quality, Dayton, Ohio. Oct. 1991.
[6] D.N. Card and W. W. Agresti, "Measuring software design complexity,"J. Syst. Software, vol. 8, pp. 185-197, Mar. 1988.
[7] D.N. Card, V. E. Church, and W. W. Agresti, "An empirical study of software design practices,"IEEE Trans. Software Eng., vol. SE-12, pp. 264-271, Feb. 1986.
[8] S. Choi and W. Scacchi, "Extracting and restructuring the design of large software systems,"IEEE Software, vol. 7, pp. 66-71, Jan. 1990.
[9] Computer Science and Technology Board, "Scaling up: A research agenda for software engineering,"Commun. ACM, vol. 33, pp. 281-293, Mar. 1990.
[10] D.L. Doubleday, "ASAP: An Ada static source code analyzer program,"TR-1895, Dept. Computer Science, Univ. Maryland, Aug. 1987.
[11] W.M. Evanco and W. W. Agresti, "Statistical representations and analyses of software," inProc. 24th Symp. Interface of Computing Science and Statistics, College Station, TX, Mar. 1992.
[12] S.M. Henry and D. G. Kafura, "Software structure metrics based on information flow,"IEEE Trans. Software Eng., vol. SE-7, pp. 510-518, Sept. 1981.
[13] S.M. Henry and C. A. Selig, "Predicting source-code complexity at the design stage,"IEEE Software, vol. 7, pp. 36-44, Mar. 1990.
[14] C.C. Howell and D. E. Mularz, "Exception handling in large Ada systems," inProc. Washington Ada Symp., 1991.
[15] 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.
[16] Institute of Electrical and Electronics Engineers, ANSI/IEEE Standard 990-1987, "Ada as a program design language,"Software Engineering Standards, 3rd ed. New York: 1989
[17] T.C. Jones,Programming ProductivityNew York: McGraw-Hill, 1986.
[18] B. Kitchenham, "Measuring software quality," inProc. First Annual Software Quality Workshop, Aug. 1989.
[19] T.J. McCabe, "A complexity measure,"IEEE Transactions on Software Engineering, vol. SE-2, pp. 308-320, Dec. 1976.
[20] T. J. McCabe and C. W. Butler, "Design complexity measurement and testing,"Commun. ACM, vol. 32, no. 12, pp. 1415-1425, Dec. 1989.
[21] 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.
[22] J. Murphy, Introductory Econometrics. Homewood, IL: Richard D. Irwin, 1973.
[23] J.D. Musa, A. Iannino, and K. Okumoto,Software Reliability. New York: McGraw-Hill, 1987.
[24] D. E. Perry, "Software interconnection models," inProc. 9th Int. Conf. Software Engineering, Monterey, CA, Mar. 1987, pp. 61-69.
[25] A.A. Porter and L. C. Briand, "Optimized set reduction for empirically guiding software development," inProc. Sixteenth Annual Software Engineering Workshop, NASA/GSFC, Dec. 1991.
[26] A.A. Porter and R. W. Selby, "Empirically guided software development using metric-based classification trees,"IEEE Software, pp. 46-54, Mar. 1990.
[27] H.D. Rombach, "Design measurement,"IEEE Software, vol. 7, pp. 17-25, Mar. 1990.
[28] W. Royce, "TRW's Ada process model for incremental development of large software systems," inProc. 12th Int. Conf. Software Engineering, France, pp. 2-11, 1990.
[29] R.W. Selby and V. R. Basili, "Analyzing error-prone system structure."IEEE Trans. Software Eng., vol. 17, pp. 141-152, Feb. 1991.
[30] K. Torii, Y. Takada, and M. C. Thompson, "Better predictions even in reduced input variable numbers using neural networks in software development," inProc. Sixteenth Annual Software Engineering Workshop, NASA/GSFC, Dec. 1991.
[31] J.D. Valett and F. E. McGarry, "A summary of software measurement experiences in the software engineering laboratory,"J. System and Software, vol. 9, pp. 137-148, Feb. 1989.
[32] T.J. Walsh, "Software reliability study using a complexity measure," inProc. National Computer Conf., 1979.
[33] A.L. Wolf, L. A. Clarke, and J. C. Wileden, "The AdaPIC tool set: Supporting interface control and analysis throughout the software development process,"IEEE Trans. Software Eng., vol. SE-15, pp. 250-263, Mar. 1989.

Index Terms:
software defects projection; context coupling; Ada designs; software quality; defect density; process characteristics; static analysis; visibility; import-export of declarations; reuse level; regression analyses; Ada; software metrics; software quality; software reliability; statistical analysis
W.W. Agresti, W.M. Evanco, "Projecting Software Defects from Analyzing Ada Designs," IEEE Transactions on Software Engineering, vol. 18, no. 11, pp. 988-997, Nov. 1992, doi:10.1109/32.177368
Usage of this product signifies your acceptance of the Terms of Use.