Skip to main content

A Diagnostic Reasoning Approach to Defect Prediction

  • Conference paper
Modern Approaches in Applied Intelligence (IEA/AIE 2011)

Abstract

During software testing, defect prediction approaches measure current reliability status, forecasting future program failures, and provide information on how many defects need to be removed before shipping. Existing approaches often require faults to be detected and identified as a new one, before a model-based trend can be fitted. While during regression testing failures may frequently occur, it is not evident which are related to new faults. Consequently, reliability growth trending can only be performed in sync with fault identification and repair, which is often performed in between regression test cycles. In this paper we present a dynamic, reasoning approach to estimate the number of defects in the system early in the process of regression testing. Our approach, coined Dracon, is based on Bayesian fault diagnosis over abstractions of program traces (also known as program spectra). Experimental results show that Dracon systematically estimates the exact number of (injected) defects, provided sufficient tests cases are available. Furthermore, we also propose a simple, analytic performance model to assess the influence of failed test cases in the estimation. We observe that our empirical findings are in agreement with the model.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abreu, R., van Gemund, A.J.C.: A low-cost approximate minimal hitting set algorithm and its application to model-based diagnosis. In: Proc. of SARA 2009, pp. 2–8 (2009)

    Google Scholar 

  2. Abreu, R., Zoeteweij, P., Golsteijn, R., van Gemund, A.: A practical evaluation of spectrum-based fault localization. Journal of Systems and Software 82(11), 1780–1792 (2009)

    Article  Google Scholar 

  3. Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: Localizing software faults simultaneously. In: Proc. of QSIC 2009, pp. 367–376 (2009)

    Google Scholar 

  4. Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: A new bayesian approach to multiple intermittent fault diagnosis. In: Proc. of IJCAI 2009, pp. 653–658 (2009)

    Google Scholar 

  5. Bertolino, A., Strigini, L.: On the use of testability measures for dependability assessment. IEEE TSE 22(2), 97–108 (1996)

    Google Scholar 

  6. de Kleer, J.: Diagnosing multiple persistent and intermittent faults. In: Proc. IJCAI 2009, pp. 733–738 (2009)

    Google Scholar 

  7. de Kleer, J., Williams, B.C.: Diagnosing multiple faults. Artif. Intell. 32(1), 97–130 (1987)

    Article  MATH  Google Scholar 

  8. Elbaum, S., Malishevsky, A., Rothermel, G.: Incorporating varying test costs and fault severities into test case prioritization. In: Proc. of ICSE 2001, pp. 329–338 (2001)

    Google Scholar 

  9. Feldman, A., van Gemund, A.J.C.: A two-step hierarchical algorithm for model-based diagnosis. In: Proc. of AAAI 2006, pp. 827–833 (2006)

    Google Scholar 

  10. Fenton, N.E., Neil, M.: A critique of software defect prediction models. IEEE TSE 25(5), 675–689 (1999)

    Google Scholar 

  11. Goel, A.L., Okumoto, K.: Software Reliability. McGraw-Hill, New York (1987)

    MATH  Google Scholar 

  12. Harrold, M.J., Rothermel, G., Wu, R., Yi, L.: An empirical investigation of program spectra. In: Proc. of PASTE 1998, pp. 83–90 (1998)

    Google Scholar 

  13. Jiang, B., Zhang, Z., Tse, T.H., Chen, T.Y.: How well do test case prioritization techniques support statistical fault localization. In: Proc. COMPSAC 2009, pp. 99–106 (2009)

    Google Scholar 

  14. Jones, J.A., Harrold, M.J., Bowring, J.F.: Debugging in parallel. In: Proc. of ISSTA 2007, pp. 16–26 (2007)

    Google Scholar 

  15. Jones, J.A., Harrold, M.J., Stasko, J.: Visualization of test information to assist fault localization. In: Proc. of ICSE 2002, pp. 467–477 (2002)

    Google Scholar 

  16. Khoshgoftaar, T.M., Munson, J.C.: Predicting software development errors using software complexity metrics. IEEE Journal on Selected Areas in Communications 8(2), 253–261 (1990)

    Article  Google Scholar 

  17. Li, Z., Harman, M., Hierons, R.M.: Search algorithms for regression test case prioritization. IEEE TSE 33(4), 225–237 (2007)

    Google Scholar 

  18. Liu, C., Yan, X., Fei, L., Han, J., Midkiff, S.P.: Sober: Statistical model-based bug localization. In: Proc. of ESEC/FSE-13, pp. 286–295

    Google Scholar 

  19. Matsumoto, S., Kamei, Y., Monden, A., ichi Matsumoto, K., Nakamura, M.: An analysis of developer metrics for fault prediction. In: Proc. of PROMISE 2010, pp. 18:1–18:9 (2010)

    Google Scholar 

  20. Mayer, W., Stumptner, M.: Evaluating models for model-based debugging. In: Proc. of ASE 2008, pp. 128–137 (2008)

    Google Scholar 

  21. Musa, J., Iannino, A., Okumoto, K.: A time dependent error detection model for software reliability and other performance measures. IEEE Trans. Reliability 28(3), 206–211 (1979)

    Google Scholar 

  22. Shakeri, M., Raghavan, V., Pattipati, K.R., Patterson-Hine, A.: Sequential testing algorithms for multiple fault diagnosis. IEEE TSMC 30(1), 1–14 (2000)

    Google Scholar 

  23. Smith, A.M., Kapfhammer, G.M.: An empirical study of incorporating cost into test suite reduction and prioritization. In: Proc. SAC 2009, pp. 461–467 (2009)

    Google Scholar 

  24. Veevers, A., Marshall, A.C.: A relationship between software coverage metrics and reliability. STVR 4(1), 3–8 (1994)

    Google Scholar 

  25. Voas, J.M., Miller, K.W.: Software testability: The new verification. IEEE Software 12(3), 17–28 (1995)

    Article  Google Scholar 

  26. Wood, A.: Predicting software reliability. Computer 29(11), 69–77 (1996)

    Article  Google Scholar 

  27. Wotawa, F., Stumptner, M., Mayer, W.: Model-based debugging or how to diagnose programs automatically. In: Hendtlass, T., Ali, M. (eds.) IEA/AIE 2002. LNCS (LNAI), vol. 2358, pp. 746–757. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  28. Zhang, H., Zhang, X., Gu, M.: Predicting defective software components from code complexity measures. In: Proc. of PRDC 2007, pp. 93–96 (2007)

    Google Scholar 

  29. Zhang, L., Hou, S.-S., Guo, C., Xie, T., Mei, H.: Time-aware test-case prioritization using integer linear programming. In: Proc. of ISSTA 2009, pp. 213–224 (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Abreu, R., Gonzalez-Sanchez, A., van Gemund, A.J.C. (2011). A Diagnostic Reasoning Approach to Defect Prediction. In: Mehrotra, K.G., Mohan, C.K., Oh, J.C., Varshney, P.K., Ali, M. (eds) Modern Approaches in Applied Intelligence. IEA/AIE 2011. Lecture Notes in Computer Science(), vol 6704. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21827-9_43

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21827-9_43

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21826-2

  • Online ISBN: 978-3-642-21827-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics