Skip to main content

Yesterday, my Program Worked. Today, it Does Not. Why?

  • Conference paper
  • First Online:
Software Engineering — ESEC/FSE ’99 (ESEC 1999, SIGSOFT FSE 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1687))

Abstract

Imagine some program and a number of changes. If none of these changes is applied (“yesterday”), the program works. If all changes are applied (“today”), the program does not work. Which change is responsible for the failure? We present an efficient algorithm that determines the minimal set of failure-inducing changes. Our delta debugging prototype tracked down a single failure-inducing change from 178,000 changed GDB lines within a few hours.

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. Binkley, D. Semantics guided regression test cost reduction. IEEE Transactions on Software Engineering 23, 8 (Aug. 1997), 498–516.

    Article  Google Scholar 

  2. Binkley, D., Horwitz, S., and Reps, T. Program integration for languages with procedure calls. ACM Transactions on Software Engineering and Methodology 4, 1 (Jan. 1995), 3–35.

    Article  Google Scholar 

  3. IEEE. Test Methods for Measuring Conformance to POSIX. New York, 1991. ANSI/IEEE Standard 1003.3-1991. ISO/IEC Standard 13210-1994.

    Google Scholar 

  4. Leblang, D. B. The CM challenge: Configuration management that works. In Configuration Management, W. F. Tichy, Ed., vol. 2 of Trends in Software. John Wiley & Sons, Chichester, UK, 1994, ch. 1, pp. 1–37.

    Google Scholar 

  5. Ness, B., and Ngo, V. Regression containment through source code isolation. In Proceedings of the 21st Annual International Computer Software & Applications Conference (COMPSAC’ 97) (Washington, D.C., Aug. 1997), IEEE Computer Society Press, pp. 616–621.

    Google Scholar 

  6. Stallman, R. M., and Pesch, R. H.Debugging with GDB, 5th ed. Free Software Foundation, Inc., Apr. 1998. Distributed with GDB 4.17.

    Google Scholar 

  7. Tichy, W. F. Smart recompilation. ACM Transactions on Software Engineering and Methodology 8, 3 (July 1986), 273–291.

    Google Scholar 

  8. Zeller, A. Versioning system models through description logic. In Proc. 8th Symposium on System Configuration Management (Brussels, Belgium, July 1998), B. Magnusson, Ed., vol. 1349 of Lecture Notes in Computer Science, Springer-Verlag, pp. 127–132.

    Chapter  Google Scholar 

  9. Zeller, A. Yesterday, my program worked. Today, it does not. Why? Computer Science Report 99-01, Technical University of Braunschweig, Germany, Feb. 1999.

    Google Scholar 

  10. Zeller, A., and Lütkehaus, D. DDD—A free graphical front-end for UNIX debuggers. ACM SIGPLAN Notices 31, 1 (Jan. 1996), 22–27.

    Article  Google Scholar 

  11. Zeller, A., and Snelting, G. Unified versioning through feature logic. ACM Transactions on Software Engineering and Methodology 6, 4 (Oct. 1997), 398–441.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zeller, A. (1999). Yesterday, my Program Worked. Today, it Does Not. Why?. In: Nierstrasz, O., Lemoine, M. (eds) Software Engineering — ESEC/FSE ’99. ESEC SIGSOFT FSE 1999 1999. Lecture Notes in Computer Science, vol 1687. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48166-4_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-48166-4_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66538-0

  • Online ISBN: 978-3-540-48166-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics