Program repair as a game

  • Authors:
  • Barbara Jobstmann;Andreas Griesmayer;Roderick Bloem

  • Affiliations:
  • Graz University of Technology;Graz University of Technology;Graz University of Technology

  • Venue:
  • CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a conservative method to automatically fix faults in a finite state program by considering the repair problem as a game. The game consists of the product of a modified version of the program and an automaton representing the LTL specification. Every winning finite state strategy for the game corresponds to a repair. The opposite does not hold, but we show conditions under which the existence of a winning strategy is guaranteed. A finite state strategy corresponds to a repair that adds variables to the program, which we argue is undesirable. To avoid extra state, we need a memoryless strategy. We show that the problem of finding a memoryless strategy is NP-complete and present a heuristic. We have implemented the approach symbolically and present initial evidence of its usefulness.