A Case Study of Defect Introduction Mechanisms

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5565)


It is well known that software production organizations spend a sizeable amount of their project budget to rectify the defects introduced into the software systems during the development process. An in depth understanding of the mechanisms that give rise to defects is an essential step towards the reduction of defects in software systems. In line with this objective, we conducted a case study of defect introduction mechanisms on three major components of an industrial enterprise resource planning software system, and observed that external factors including incomplete requirements specifications, adopting new, unfamiliar technologies, lack of requirements traceability, and the lack of proactive and explicit definition and enforcement of user interface consistency rules account for 59% of the defects. These findings suggest areas where effort should be directed.


Defects Sources Defect Root Cause Analysis Case Study 


  1. 1.
    Banker, R.D., Kemerer, C.F.: Scale Economics in New Software Development. IEEE Transactions on Software Engineering, 1199–1205 (October 1989)Google Scholar
  2. 2.
    Basili, V.R., Perricone, B.R.: Software Errors and Complexity. Communications of ACM 27, 42–45 (1984)CrossRefGoogle Scholar
  3. 3.
    Bersoff, E., Henderson, V., Siegel, S.: Software Configuration Management. Prentice-Hall, Englewood Cliffs (1980)Google Scholar
  4. 4.
    Boehm, B.W.: Software and its Impacts: A Quantitative Assessment. Datamation 9, 48–59 (1973)Google Scholar
  5. 5.
    Chillarege, R., Bhandari, I.S., Chaar, J.K., Halliday, M.J., Moebus, D.S., Ray, B.K., Wong, M.: Orthogonal Defect Classification - A Concept for In-Process Measurements. IEEE TSE 18(11), 943–956 (1992)Google Scholar
  6. 6.
    Cleland-Huand, J., Chang, C.K., Christensen, M.: Event-Based Traceability for Managing Evolutionary Change. IEEE TSE 29(9), 1226–1242 (2003)Google Scholar
  7. 7.
    Devanbu, P., Brachman, R.J., Selfridge, P.G., Ballard, B.W.: LaSSIE: A Knowledge-Based Software Information System. Com. of ACM 34(5), 34–49 (1991)CrossRefGoogle Scholar
  8. 8.
    Eldh, S., Punnekkat, S., Hansson, H., Jonsson, P.: Component Testing Is Not Enough - A Study of Software Faults in Telecom Middleware. In: Petrenko, A., Veanes, M., Tretmans, J., Grieskamp, W. (eds.) TestCom/FATES 2007. LNCS, vol. 4581, pp. 74–89. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Fenton, N.E., Ohlsson, N.: Quantitative Analysis of Faults and Failures in a Complex Software System. IEEE Transactions on Software Engineering 26(8), 797–814 (2000)CrossRefGoogle Scholar
  10. 10.
    Fjelstad, R.K., Hamlen, W.T.: Application Program Maintenance Study - Report to Our Respondents. Technical Report, IBM Corporation, DP Marketing Group (1986)Google Scholar
  11. 11.
    Hatton, L.: Reexamining the Fault Density-Component Size Connection. IEEE Software, 89–97 (March 1997)Google Scholar
  12. 12.
    Hofer, A., Tichy, W.F.: Status of Empirical Research in Software Engineering. In: Empirical Software Engineering Issues, pp. 10–19. Springer, Heidelberg (2007)Google Scholar
  13. 13.
    Leszak, M., Perry, D.E., Stoll, D.: A Case Study in Root Cause Defect Analysis. In: Proceedings of International Conference on Software Engineering, ICSE 2000, pp. 428–437 (2000)Google Scholar
  14. 14.
    Lientz, B.P., Swanson, E.B., Tompkins, G.E.: Characteristics of Application Software Maintenance. Communications of the ACM 21(6), 466–471 (1978)CrossRefGoogle Scholar
  15. 15.
    Lientz, B.P., Swanson, E.B.: Software Maintenance Management. Addison-Wesley, Reading (1980)Google Scholar
  16. 16.
    Malaiya, K.Y., Denton, J.: Module Size Distribution and Defect Density. In: Proceedings of ISSRE 2000, pp. 62–71 (2000)Google Scholar
  17. 17.
    Mohagheghi, P., Conradi, R., Killi, O.M., Schwarz, H.: An Empirical Study of Software Reuse vs. In: Defect-Density and Stability. In: Proceedings of ICSE 2004, pp. 282–292 (2004)Google Scholar
  18. 18.
    Nozek, J.T., Palvia, P.: Software Maintenance Management: Changes in the Last Decade. Journal of Software Maintenance: Research and Practice 2(3), 157–174 (1990)CrossRefGoogle Scholar
  19. 19.
    Ostrand, T.J., Weyuker, E.J.: The Distribution of Faults in a Large Industrial Software System. In: Proceedings of ISSTA 2002, pp. 55–64 (2002)Google Scholar
  20. 20.
    Rosenberg, J.: Some Misconceptions about Lines of Code. In: Proceedings of the International Software Metrics Symposium, November 1997, pp. 137–142 (1997)Google Scholar
  21. 21.
    Shen, V.Y., Yu, T., Thebut, S.M.: Identifying Error-Prone Software- An Empirical Study. IEEE Transactions on Software Engineering 11, 317–324 (1985)CrossRefGoogle Scholar
  22. 22.
    Vliet, H.V.: Software Engineering: Principles and Practices. John Wiley & Sons, Chichester (2000)Google Scholar
  23. 23.
    Tichy, W.F.: Should Computer Scientists Experiment More? IEEE Computer 31(5), 32–40 (1998)CrossRefGoogle Scholar
  24. 24.
    Withrow, C.: Error Density and Size in Ada Software. IEEE Software, 26–30 (1990)Google Scholar
  25. 25.
    Whitney, R., Nawrocki, E., Hayes, W., Siegel, J.: Interim Profile: Development and Trial of a Method to Rapidly Measure Software Engineering Maturity Status. Technical Report,CMU/SEI-94-TR-4, ESC-TR-94-004, March 26-30 (1994)Google Scholar
  26. 26.

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of TorontoCanada

Personalised recommendations