Skip to main content

Does Testing Help to Reduce the Number of Potentially Faulty Statements in Debugging?

  • Conference paper
Testing – Practice and Research Techniques (TAIC PART 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6303))

Abstract

Tools for automated fault localization usually generate too many bug candidates depending on the underlying technique. Hence, further information is required in order to further restrict the bug candidates. Approaches that rely on specific knowledge of the program to be debugged like variable values at specific position in the source code, are not easily accessible for users especially in case of software maintenance. In order to avoid this problem we suggest to integrate testing for restricting the number of bug candidates. In particular, we suggest to compute possible corrections of the program and from this, distinguishing test cases. A distinguishing test case is a test that reveals different output values for two given program variants, given the same input values. Besides the formal definitions and algorithms, we present the first empirical results of our approach. The use of mutations and distinguishing test cases substantially reduces the number of bug candidates.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Wotawa, F., Nica, M., Aichernig, B.K.: Generating distinguishing tests using the minion constraint solver. In: CSTVA 2010: Proceedings of the 2nd Workshop on Constraints for Testing, Verification and Analysis. IEEE, Los Alamitos (2010)

    Google Scholar 

  2. Weimer, W., Nguyen, T.V., Goues, C.L., Forrest, S.: Automatically finding patches using genetic programming. In: ACM/IEEE International Conference on Software Engineering (ICSE), pp. 512–521 (2009)

    Google Scholar 

  3. Debroy, V., Wong, W.E.: Using mutation to automatically suggest fixes for faulty programs. In: Third International Conference on Software Testing, Verification and Validation (ICST 2010). IEEE, Los Alamitos (2010)

    Google Scholar 

  4. Tretmans, J.: Test generation with inputs, outputs and repetitive quiescence. Software - Concepts and Tools 17(3), 103–120 (1996)

    MATH  Google Scholar 

  5. Wotawa, F., Peischl, B.: Automated source level error localization in hardware designs. IEEE Design and Test of Computers 23(1), 8–19 (2006)

    Article  Google Scholar 

  6. Mayer, W., Abreu, R., Stumptner, M., van Gemund, A.J.: Prioritising model-based debugging diagnostic reports. In: Proceedings of the International Workshop on Principles of Diagnosis (DX) (2009)

    Google Scholar 

  7. Abreu, R., Zoeteweij, P., van Gemund, A.J.: On the accuracy of spectrum-based fault localization. In: Proceedings TAIC PART 2007, pp. 89–98. IEEE, Los Alamitos (2006)

    Google Scholar 

  8. Mayer, W.: Static and hybrid analysis in model-based debugging. PhD Thesis, School of Computer and Information Science, University of South Australia (2007)

    Google Scholar 

  9. Ceballos, R., Gasca, R.M., Valle, C.D., Borrego, D.: Diagnosing errors in dbc programs using constraint programming. In: Marín, R., Onaindía, E., Bugarín, A., Santos, J. (eds.) CAEPIA 2005. LNCS (LNAI), vol. 4177, pp. 200–210. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  10. Nica, M., Weber, J., Wotawa, F.: How to debug sequential code by means of constraint representation. In: 19th International Workshop on Principles of Diagnosis (DX 2008) (2008)

    Google Scholar 

  11. Wotawa, F., Nica, M.: On the compilation of programs into their equivalent constraint representation. Informatika 32, 359–371 (2008)

    MATH  Google Scholar 

  12. Gent, I.P., Jefferson, C., Miguel, I.: Minion: A fast, scalable, constraint solver. In: 17th European Conference on Artificial Intelligence, ECAI 2006 (2006)

    Google Scholar 

  13. Ma, Y.S., Offutt, J., Kwon, Y.R.: Mujava: An automated class mutation system. Software Testing, Verification and Reliability 15, 97–133 (2005)

    Article  Google Scholar 

  14. Offutt, A.J., Lee, A., Rothermel, G., Untch, R., Zapf, C.: An experimental determination of sufficient mutation operators. ACM Transactions on Software Engineering Methodology 5, 99–118 (1996)

    Article  Google Scholar 

  15. Reiter, R.: A theory of diagnosis from first principles. Artificial Intelligence 32(1), 57–95 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  16. Mayer, W., Stumptner, M.: Model-based debugging using multiple abstract models. In: Proceedings of the 5th International Workshop on Automated and Algorithmic Debugging, AADEBUG 2003, pp. 55–70 (2003)

    Google Scholar 

  17. Ceballos, R., Nica, M., Weber, J., Wotawa, F.: On the complexity of program debugging using constraints for modeling the program’s syntax and semantics. In: Proc. Conference of the Spanish Association for Artificial Intelligence (CAEPIA), Seville, Spain (2009)

    Google Scholar 

  18. Zeller, A., Hildebrandt, R.: Simplifying and isolating failure-inducing input. IEEE Transactions on Software Engineering 28(2) (2002)

    Google Scholar 

  19. Jones, J.A., Harrold, M.J.: Empirical evaluation of the tarantula automatic fault-localization technique. In: Proceedings ASE 2005, pp. 273–282. ACM Press, New York (2005)

    Google Scholar 

  20. Abreu, R., Zoeteweij, P., van Gemund, A.J.: Spectrum-based multiple fault localization. In: Proc. IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 88–99 (2009)

    Google Scholar 

  21. Kusumoto, S., Nishimatsu, A., Nishie, K., Inoue, K.: Experimental evaluation of program slicing for fault localization. Empirical Software Engineering 7, 49–76 (2002)

    Article  MATH  Google Scholar 

  22. Binkley, D., Harman, M.: A survey of empirical results on program slicing. In: Zelkowitz, M. (ed.) Advances in Software Engineering – Advances in Computers, vol. 62, pp. 106–172. Academic Press Inc., London (2004), citeseer.ist.psu.edu/661032.html

    Google Scholar 

  23. Zhang, X., He, H., Gupta, N., Gupta, R.: Experimental evaluation of using dynamic slices for fault localization. In: Sixth International Symposium on Automated & Analysis-Driven Debugging (AADEBUG), pp. 33–42 (2005)

    Google Scholar 

  24. Wotawa, F.: Bridging the gap between slicing and model-based diagnosis. In: Proc. of the 20th Intl. Conference on Software Engineering and Knowledge Engineering (SEKE), Knowledge Systems Institute Graduate School, pp. 836–841 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nica, M., Nica, S., Wotawa, F. (2010). Does Testing Help to Reduce the Number of Potentially Faulty Statements in Debugging?. In: Bottaci, L., Fraser, G. (eds) Testing – Practice and Research Techniques. TAIC PART 2010. Lecture Notes in Computer Science, vol 6303. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15585-7_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15585-7_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15584-0

  • Online ISBN: 978-3-642-15585-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics