2011
DOI: 10.1145/1993316.1993525
|View full text |Cite
|
Sign up to set email alerts
|

Predicate abstraction and CEGAR for higher-order model checking

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 verif… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
87
0

Year Published

2019
2019
2021
2021

Publication Types

Select...
5

Relationship

0
5

Authors

Journals

citations
Cited by 62 publications
(87 citation statements)
references
References 38 publications
0
87
0
Order By: Relevance
“…Two main techniques followed are higher-order recursion schemes modelling [12,18], and symbolic execution [21,9,11]. In the first category, MoCHi [13] performs full verification of OCaml programs by translating them into higher-order recursion schemes checked with specialised tools. In the second category, Rosette [24], Kaplan [14], and Rubicon [16] perform symbolic evaluation for Racket and Ruby respectively by using solver-aided languages for functional and imperative higher-order programs.…”
Section: Related Workmentioning
confidence: 99%
See 4 more Smart Citations
“…Two main techniques followed are higher-order recursion schemes modelling [12,18], and symbolic execution [21,9,11]. In the first category, MoCHi [13] performs full verification of OCaml programs by translating them into higher-order recursion schemes checked with specialised tools. In the second category, Rosette [24], Kaplan [14], and Rubicon [16] perform symbolic evaluation for Racket and Ruby respectively by using solver-aided languages for functional and imperative higher-order programs.…”
Section: Related Workmentioning
confidence: 99%
“…BMC-2 itself was written in OCaml. To illustrate our input language, on the right is sample program mc91-e from [13] translated from OCaml to our syntax. The keyword Methods is used to define all methods in the repository.…”
Section: Implementation and Experimentsmentioning
confidence: 99%
See 3 more Smart Citations