Skip to main content

Iterative Delta Debugging

  • Conference paper
Hardware and Software: Verification and Testing (HVC 2008)

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

Included in the following conference series:

Abstract

Automated debugging attempts to locate the reason for a failure. Delta debugging minimizes the difference between two inputs, where one input is processed correctly while the other input causes a failure, using a series of test runs to determine the outcome of applied changes. Delta debugging is applicable to inputs or to the program itself, as long as a correct version of the program exists. However, complex errors are often masked by other program defects, making it impossible to obtain a correct version of the program through delta debugging in such cases. Iterative delta debugging extends delta debugging and removes series of defects step by step, until the final unresolved defect alone is isolated. The method is automated and managed to localize a bug in some real-life examples.

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. Artho, C., Shibayama, E., Honiden, S.: Iterative delta debugging. In: 19th IFIP Int. Conf. on Testing of Communicating Systems (TESTCOM 2007), Tallinn, Estonia (2007)

    Google Scholar 

  2. Gondow, K., Suzuki, T., Kawashima, H.: Binary-level lightweight data integration to develop program understanding tools for embedded software in C. In: Proc. 11th Asia-Pacific Software Engineering Conference (APSEC 2004), Washington, USA, 2004, pp. 336–345. IEEE Computer Society Press, Los Alamitos (2004)

    Google Scholar 

  3. Korel, B., Laski, J.: Dynamic program slicing. Inf. Process. Lett. 29(3), 155–163 (1988)

    Article  MATH  Google Scholar 

  4. Lindholm, T., Kangasharju, J., Tarkoma, S.: Fast and simple XML tree differencing by sequence alignment. In: Proc. 2006 ACM symposium on Document engineering (DocEng 2006), pp. 75–84. ACM, New York (2006)

    Chapter  Google Scholar 

  5. Manevich, R., Sridharan, M., Adams, S., Das, M., Yang, Z.: PSE: Explaining Program Failures via Postmortem Static Analysis. In: Proc. 12th Int. Symposium on the Foundations of Software Engineering (FSE 2004), pp. 63–72. ACM, New York (2004)

    Google Scholar 

  6. Maruyama, K., Yamamoto, S.: A tool platform using an XML representation of source code information. IEICE – Trans. Inf. Syst. E89-D(7), 2214–2222 (2006)

    Article  Google Scholar 

  7. Misherghi, G., Su, Z.: HDD: hierarchical delta debugging. In: Proc. 28th Int. Conf. on Software Engineering (ICSE 2006), Shanghai, China, pp. 142–151. ACM Press, New York (2006)

    Google Scholar 

  8. Myers, G.: Art of Software Testing. John Wiley & Sons, Chichester (1979)

    MATH  Google Scholar 

  9. Nethercote, N., Seward, J.: Valgrind: A program supervision framework. In: Proc. 3rd Int. Workshop on Run-time Verification (RV 2003), Boulder, USA. ENTCS, vol. 89, pp. 22–43. Elsevier, Amsterdam (2003)

    Google Scholar 

  10. Peled, D.: Software Reliability Methods. Springer, Heidelberg (2001)

    Book  MATH  Google Scholar 

  11. Torvalds, L., Hamano, C.: git-bisect (1) manual page (2007), http://kernel.org/pub/software/scm/git/docs/git-bisect.html

  12. Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Automated Software Engineering Journal 10(2), 203–232 (2003)

    Article  Google Scholar 

  13. Weiser, M.: Programmers use slices when debugging. Communications of the ACM 25(7), 446–452 (1982)

    Article  Google Scholar 

  14. Zeller, A., Hildebrandt, R.: Simplifying and isolating failure-inducing input. Software Engineering 28(2), 183–200 (2002)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Artho, C. (2009). Iterative Delta Debugging. In: Chockler, H., Hu, A.J. (eds) Hardware and Software: Verification and Testing. HVC 2008. Lecture Notes in Computer Science, vol 5394. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-01702-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-01702-5_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-01701-8

  • Online ISBN: 978-3-642-01702-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics