Why3 What is why3? A platform for deductive program verification - - PowerPoint PPT Presentation

why3 what is why3
SMART_READER_LITE
LIVE PREVIEW

Why3 What is why3? A platform for deductive program verification - - PowerPoint PPT Presentation

Why3 What is why3? A platform for deductive program verification What is why3? A platform for deductive program verification Made by: Franois Bobot Martin Clochard Lon Gondelman Jean-Christophe Fillitre Claude


slide-1
SLIDE 1

Why3

slide-2
SLIDE 2

What is why3?

  • A platform for deductive program verification
slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5
  • 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

slide-6
SLIDE 6
  • Why3: Shepherd Your Herd of Provers

Translation of their philosophy:

  • Focus on automation
  • One language, multiple provers (!!)
  • ‘cloning’ is unique to this language
slide-7
SLIDE 7

All the provers!

Automatic provers

  • Alt-Ergo
  • Beagle
  • CVC3
  • CVC4
  • E-prover
  • Gappa
  • Metis
  • Metitarski
  • Princess

Psyche

slide-8
SLIDE 8

Demo Time!

  • why3 ide hello_proof.why
  • einstein.why
slide-9
SLIDE 9

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.