Counterexample-Driven Genetic Programming: Stochastic Synthesis of Provably Correct Programs

Krzysztof Krawiec, Iwo Błądek, Jerry Swan, John H. Drake

Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence

Best Sister Conferences. Pages 5304-5308.

https://doi.org/10.24963/ijcai.2018/742

PDF BibTeX

Abstract

Genetic programming is an effective technique for inductive synthesis of programs from tests, i.e. training examples of desired input-output behavior. Programs synthesized in this way are not guaranteed to generalize beyond the training set, which is unacceptable in many applications. We present Counterexample-Driven Genetic Programming (CDGP) that employs evolutionary search to synthesize provably correct programs from formal specifications. CDGP employs a Satisfiability Modulo Theories (SMT) solver to formally verify programs in the evaluation phase. A failed verification produces counterexamples that are in turn used to calculate fitness and thereby drive the search process. When compared with a range of approaches on a suite of state-of-the-art specification-based synthesis benchmarks, CDGP systematically outperforms them, typically synthesizing correct programs faster and using fewer tests.

Keywords

  • Heuristic Search and Game Playing: Meta-Reasoning and Meta-heuristics
  • Heuristic Search and Game Playing: Heuristic Search
  • Agent-based and Multi-agent Systems: Formal Verification, Validation and Synthesis
Welcome Future Conferences AI Journal Division IJCAI Proceedings Travel Grant Program IJCAI Awards