Isolating failure-inducing thread schedules

  • Authors:
  • Jong-Deok Choi;Andreas Zeller

  • Affiliations:
  • IBM T. J. Watson Research Center, Yorktown Heights, NY;Universität des Saarlandes, Lehrstuhl für Softwaretechnik, Postfach 15 11 50, 66041 Saarbrücken, Germany

  • Venue:
  • ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Consider a multi-threaded application that occasionally fails due to non-determinism. Using the DEJAVU capture/replay tool, it is possible to record the thread schedule and replay the application in a deterministic way. By systematically narrowing down the difference between a thread schedule that makes the program pass and another schedule that makes the program fail, the Delta Debugging approach can pinpoint the error location automatically---namely, the location(s) where a thread switch causes the program to fail. In a case study, Delta Debugging isolated the failure-inducing schedule difference from 3.8 billion differences in only 50 tests.