Chapter

Software Engineering — ESEC/FSE ’99

Volume 1687 of the series Lecture Notes in Computer Science pp 253-267

Date:

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

  • Andreas ZellerAffiliated withLehrstuhl für Software-Systeme, Universität Passau

* Final gross prices may vary according to local VAT.

Get Access

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.