2013
DOI: 10.1007/978-3-642-37036-6_8
|View full text |Cite
|
Sign up to set email alerts
|

Why3 — Where Programs Meet Provers

Abstract: Abstract. We present Why3, a tool for deductive program verification, and WhyML, its programming and specification language. WhyML is a first-order language with polymorphic types, pattern matching, and inductive predicates. Programs can make use of record types with mutable fields, type invariants, and ghost code. Verification conditions are discharged by Why3 with the help of various existing automated and interactive theorem provers. To keep verification conditions tractable and comprehensible, WhyML impose… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
236
0
6

Year Published

2013
2013
2018
2018

Publication Types

Select...
10

Relationship

1
9

Authors

Journals

citations
Cited by 384 publications
(242 citation statements)
references
References 4 publications
0
236
0
6
Order By: Relevance
“…WhyML is used as an intermediate language for verification of C, Java, and Ada programs [12,18], and is also intended to be comfortable as a primary programming language [13]. WhyML function definitions are annotated with pre-and postconditions both for normal and exceptional termination, and loops are annotated with invariants.…”
Section: From Whyml To Cmentioning
confidence: 99%
“…WhyML is used as an intermediate language for verification of C, Java, and Ada programs [12,18], and is also intended to be comfortable as a primary programming language [13]. WhyML function definitions are annotated with pre-and postconditions both for normal and exceptional termination, and loops are annotated with invariants.…”
Section: From Whyml To Cmentioning
confidence: 99%
“…It comes with a programming language, WhyML [6], an ML dialect with some restrictions in order to get simpler proof obligations. This language offers some features commonly found in functional languages, like pattern-matching, algebraic types and polymorphism, but also imperative constructions, like records with mutable fields and exceptions.…”
Section: Why3 In a Nutshellmentioning
confidence: 99%
“…The long term goal of our work is to verify data intensive systems with the Coq proof assistant and the Why3 [4] program verification suite. We shall extend our work in several directions.…”
Section: Conclusion Lessons and Perspectivesmentioning
confidence: 99%