kirancodes.me
To Proof Maintenance & Beyond!

Predicate abstraction and CEGAR for higher-order model checking

Naoki Kobayashi, Ryosuke Sato, Hiroshi Unno

Abstract

Higher-order model checking (more precisely, the model checking of higher-order recursion schemes) has been extensively studied recently, which can automatically decide properties of programs written in the simply-typed λ-calculus with recursion and finite data domains. This paper formalizes predicate abstraction and counterexample-guided abstraction refinement (CEGAR) for higher-order model checking, enabling automatic verification of programs that use infinite data domains such as integers. A prototype verifier for higher-order functional programs based on the formalization has been implemented and tested for several programs.

Related papers