Equivalence-Based Abstraction Refinement for \mu HORS Model Checking

Kobayashi and Igarashi proposed model checking of \(\mu \)HORS (recursively-typed higher-order recursion schemes), by which a wide range of programs such as object-oriented programs and multi-threaded programs can be precisely modeled and verified. In this work, we present a procedure for \(\mu \)HORS model checking that improves the procedure based on automata-based abstraction refinement proposed by Kobayashi and Li. The new procedure optimizes each step of the abstract-check-refine paradigm of the previous procedure. Specially, it combines the strengths of automata-based and type-based abstraction refinement as equivalence-based abstraction refinement. We have implemented the new procedure, and confirmed that it always outperformed the original automata-based procedure on runtime efficiency, and successfully verified all benchmarks which were previously impossible.

[1]  C.-H. Luke Ong,et al.  Verifying higher-order functional programs with pattern-matching algebraic data types , 2011, POPL '11.

[2]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[3]  Jakob Rehof,et al.  Finite Combinatory Logic with Intersection Types , 2011, TLCA.

[4]  Atsushi Igarashi,et al.  Model-Checking Higher-Order Programs with Recursive Types , 2013, ESOP.

[5]  Pawel Urzyczyn,et al.  Higher-Order Pushdown Trees Are Easy , 2002, FoSSaCS.

[6]  Naoki Kobayashi,et al.  Model Checking Higher-Order Programs , 2013, JACM.

[7]  Naoki Kobayashi,et al.  Saturation-Based Model Checking of Higher-Order Recursion Schemes , 2013, CSL.

[8]  Naoki Kobayashi,et al.  Predicate abstraction and CEGAR for higher-order model checking , 2011, PLDI '11.

[9]  C.-H. Luke Ong,et al.  A type-directed abstraction refinement approach to higher-order model checking , 2014, POPL.

[10]  C.-H. Luke Ong,et al.  A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[11]  C.-H. Luke Ong,et al.  On Model-Checking Trees Generated by Higher-Order Recursion Schemes , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[12]  C.-H. Luke Ong,et al.  An Abstraction Refinement Approach to Higher-Order Model Checking , 2013 .

[13]  Xin Li,et al.  Automata-Based Abstraction Refinement for µHORS Model Checking , 2015, 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science.

[14]  Klaus Aehlig A Finite Semantics of Simply-Typed Lambda Terms for Infinite Runs of Automata , 2007, Log. Methods Comput. Sci..

[15]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .