Why3
What is why3? ● A platform for deductive program verification
What is why3? ● A platform for deductive program verification ● Made by: – François Bobot – Martin Clochard – Léon Gondelman – Jean-Christophe Filliâtre – Claude Marché – Guillaume Melquiond – Andrei Paskevich – Mário Pereira
What is why3? ● A platform for deductive program verification ● Made by: – François Bobot – Martin Clochard – Léon Gondelman – Jean-Christophe Filliâtre – Claude Marché – Guillaume Melquiond – Andrei Paskevich – Mário Pereira
● Why3: Shepherd Your Herd of Provers Why3 distinguishes itself from [provers] in that we want to provide as much automation as possible. Instead of being a theorem prover by itself, Why3 intends to provide a front-end to third-party theorem provers. To this end, we propose a common specification language which aims at maximal expressiveness without sacrificing efficiency of automated proof search (Section 2). Another challenge is modular specification. Our proposal is a notion of reusable theories and an associated mechanism of “cloning” (Section 3). As we target a large set of theorem provers whose language and logic range from
● Why3: Shepherd Your Herd of Provers Translation of their philosophy: ● Focus on automation ● One language, multiple provers (!!) ● ‘cloning’ is unique to this language
All the provers! Automatic provers ● Alt-Ergo ● Beagle ● CVC3 ● CVC4 ● E-prover ● Gappa ● Metis ● Metitarski ● Princess Psyche
Demo Time! ● why3 ide hello_proof.why ● einstein.why
Big projects ● EasyCrypt: toolset for reasoning about relational properties of probabilistic computations with adversarial code ● Frama-C: extensible and collaborative platform dedicated to source-code analysis of C software; and its WP plug-in for deductive verification ● SPARK 2014: formal verification tool for Ada. See also the ProofInUse project ● Krakatoa: verification tool for Java; and the Jessie plug-in of Frama-C, distributed as part of the former Why tool.
Recommend
More recommend