Program sketching via CTL* model checking

  • Authors:
  • Andreas Morgenstern;Klaus Schneider

  • Affiliations:
  • University of Kaiserslautern, Kaiserslautern, Germany;University of Kaiserslautern, Kaiserslautern, Germany

  • Venue:
  • Proceedings of the 18th international SPIN conference on Model checking software
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Sketching is an approach to automated software synthesis where the programmer develops a partial implementation called a sketch and a separate specification of the desired functionality. A synthesizer tool then automatically completes the sketch to a complete program that satisfies the specification. Previously, sketching has been applied to finite programs with a desired functional input/output behavior and given invariants. In this paper, we consider (non-terminating) reactive programs and use the full branching time logic CTL* to formalize specifications. We show that the sketching problem can be reduced to a CTL* model checking problem provided there is a translation of the program to labeled transition systems.