Proceedings of the ACM SIGPLAN 2013 Workshop on Partial Evaluation and Program Manipulation 2013
DOI: 10.1145/2426890.2426900
|View full text |Cite
|
Sign up to set email alerts
|

Towards a scalable software model checker for higher-order programs

Abstract: In our recent paper, we have shown how to construct a fullyautomated program verification tool (so called a "software model checker") for a tiny subset of functional language ML, by combining higher-order model checking, predicate abstraction, and CE-GAR. This can be viewed as a higher-order counterpart of previous software model checkers for imperative languages like BLAST and SLAM. The naïve application of the proposed approach, however, suffered from scalability problems, both in terms of efficiency and sup… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
32
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
6
1

Relationship

2
5

Authors

Journals

citations
Cited by 40 publications
(33 citation statements)
references
References 38 publications
0
32
0
Order By: Relevance
“…Since the verification problem is undecidable, 5 we aim to develop a sound but incomplete method below. As explained in Section 1, our approach is to use program transformation to reduce the (semantic) type checking problem |= t : τ to the first-order refinement type checking problem |= t : τ where τ does not contain any function variables in refinement predicates, and to check |= t : τ using an automated verification tool such as MoCHi [9,13,18], which combines higher-order model checking [8] and predicate abstraction.…”
Section: Semantics Of Refinement Typesmentioning
confidence: 99%
See 3 more Smart Citations
“…Since the verification problem is undecidable, 5 we aim to develop a sound but incomplete method below. As explained in Section 1, our approach is to use program transformation to reduce the (semantic) type checking problem |= t : τ to the first-order refinement type checking problem |= t : τ where τ does not contain any function variables in refinement predicates, and to check |= t : τ using an automated verification tool such as MoCHi [9,13,18], which combines higher-order model checking [8] and predicate abstraction.…”
Section: Semantics Of Refinement Typesmentioning
confidence: 99%
“…The transformation (−) in the previous section allowed us to reduce the refinement type checking |= t : τ to the firstorder refinement type checking |= (t) : (τ ) , but it does not necessarily enable us to prove the latter by using the existing automated verification tools [12,17,16,9,19,13]. This is due to the incompleteness of the tools for proving |= (t) : (τ ) .…”
Section: Transformations For Enabling First-order Refinement Type Chementioning
confidence: 99%
See 2 more Smart Citations
“…Sato et al [16] employed the selective CPS translation [14] to avoid unnecessary growth of the order, using a type and effect system to capture effect-free fragments and then added continuation parameters to only effectful parts.…”
Section: Related Workmentioning
confidence: 99%