Synthesis modulo recursive functions

  • Authors:
  • Etienne Kneuss;Ivan Kuraj;Viktor Kuncak;Philippe Suter

  • Affiliations:
  • École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland;École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland;École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland;École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland & IBM T.J. Watson Research Center, Yorktown Heights, NY, USA

  • Venue:
  • Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe techniques for synthesis and verification of recursive functional programs over unbounded domains. Our techniques build on top of an algorithm for satisfiability modulo recursive functions, a framework for deductive synthesis, and complete synthesis procedures for algebraic data types. We present new counterexample-guided algorithms for constructing verified programs. We have implemented these algorithms in an integrated environment for interactive verification and synthesis from relational specifications. Our system was able to synthesize a number of useful recursive functions that manipulate unbounded numbers and data structures.