2015
DOI: 10.1007/978-3-319-21690-4_20
|View full text |Cite
|
Sign up to set email alerts
|

The SeaHorn Verification Framework

Abstract: In this paper, we present SeaHorn, a software verification framework. The key distinguishing feature of SeaHorn is its modular design that separates the concerns of the syntax of the programming language, its operational semantics, and the verification semantics. Sea-Horn encompasses several novelties: it (a) encodes verification conditions using an efficient yet precise inter-procedural technique, (b) provides flexibility in the verification semantics to allow different levels of precision, (c) leverages the … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
170
0
2

Year Published

2016
2016
2021
2021

Publication Types

Select...
6
2

Relationship

2
6

Authors

Journals

citations
Cited by 241 publications
(172 citation statements)
references
References 50 publications
0
170
0
2
Order By: Relevance
“…We set a 15GB memory limit and a 900s timeout for the analysis of each benchmark. We used SeaHorn [9] (v0.1.0), 2 an LLVM-based [21] framework for verification of safety properties of programs using Horn Clause solvers; Ultimate Automizer [10] (SV-COMP16), 3 an automata-based software model checker that is implemented in the Ultimate software analysis framework; CPAchecker (v1.4 with predicate abstraction), 4 a tool for configurable software verification that supports a wide range of techniques, including predicate abstraction, and shape and value anlysis; Impara (v0.2), 5 a tool that implements an algorithm that combines a symbolic form of partial-order reduction and lazy abstraction with interpolants for concurrent programs; Satabs (v3.2), 6 a verification tool based on predicate abstraction; and Threader (SV-COMP14), 7 a tool that uses compositional reasoning with regards to the thread structure of concurrent programs based on abstraction refinement. VVT (SV-COMP16), 8 a tool that can both verify programs using IC3 and predicate abstraction also can find bugs using bounded model checking.…”
Section: Methodsmentioning
confidence: 99%
“…We set a 15GB memory limit and a 900s timeout for the analysis of each benchmark. We used SeaHorn [9] (v0.1.0), 2 an LLVM-based [21] framework for verification of safety properties of programs using Horn Clause solvers; Ultimate Automizer [10] (SV-COMP16), 3 an automata-based software model checker that is implemented in the Ultimate software analysis framework; CPAchecker (v1.4 with predicate abstraction), 4 a tool for configurable software verification that supports a wide range of techniques, including predicate abstraction, and shape and value anlysis; Impara (v0.2), 5 a tool that implements an algorithm that combines a symbolic form of partial-order reduction and lazy abstraction with interpolants for concurrent programs; Satabs (v3.2), 6 a verification tool based on predicate abstraction; and Threader (SV-COMP14), 7 a tool that uses compositional reasoning with regards to the thread structure of concurrent programs based on abstraction refinement. VVT (SV-COMP16), 8 a tool that can both verify programs using IC3 and predicate abstraction also can find bugs using bounded model checking.…”
Section: Methodsmentioning
confidence: 99%
“…The work on JayHorn is primarily inspired by the success of SMACK [17] and SeaHorn [8] in the previous verification competitions.…”
Section: Related Workmentioning
confidence: 99%
“…Recent verification competitions have shown that this approach is feasible in practice. Tools like SMACK [17] or SeaHorn [8] which use LLVM as a front-end and off-the-shelf verification backends have been able to outperform established tools in many categories.…”
Section: Introductionmentioning
confidence: 99%
“…Close to our work is the SeaHorn verification system [22]. While SeaHorn relies on Z3-PDR to handle inductive predicates on non-heap domains, it is unclear (to us) how SeaHorn supports induction reasoning for heap-based programs (which is one contribution of our present work).…”
Section: Related Workmentioning
confidence: 99%
“…In this work, we investigate the problem of verifying heap-manipulating programs in the framework of SMT. We reduce this problem to solving verification conditions representing precise program semantics [44,10,9,22].…”
Section: Introductionmentioning
confidence: 99%