A Proof Repository for Formal Verification of Software Michael - - PowerPoint PPT Presentation

a proof repository for formal verification of software
SMART_READER_LITE
LIVE PREVIEW

A Proof Repository for Formal Verification of Software Michael - - PowerPoint PPT Presentation

A Proof Repository for Formal Verification of Software Michael Franssen WASDeTT- 3 September 20 th 2010 Cocktail Derive programs from their specifications Does not scale and nobody programs like this Create proofs interactively with an


slide-1
SLIDE 1

A Proof Repository for Formal Verification of Software

Michael Franssen

WASDeTT- 3

September 20th 2010

slide-2
SLIDE 2

/ Department of Mathematics and Computer Science

Cocktail

Derive programs from their specifications Create proofs interactively with an proof assistant based on type lambda calculus (with a GUI providing Fitch-style notation) Custom built tableaux based automated theorem prover Does not scale and nobody programs like this User friendly, but much automation desired Much too weak and an awfull lot of work

slide-3
SLIDE 3

Target

An oracle to provide proofs required for the formal verification of software We assume the following architecture:

VCG Type Checker Parser Editor feedback annotated program parse tree valid program theorems

slide-4
SLIDE 4

/ Department of Mathematics and Computer Science

Considerations

Do not build your own prover, but use existing ones Instead of choosing one prover, create a generic interface

Pitfall: using the greatest common divisor! (does not exploit specialized provers!)

Automated provers are usually incomplete. What if a proof fails? Proving a theorem may take a while. How do we prevent proving the same theorem several times?

slide-5
SLIDE 5

Our implemented modules

Theorem Prover Connector Controller Network Connector Controller Database TPTP Connector Theories (extensions) www.tptp.org @ Interactive Proof Assistant @ Client application theorems feedback

slide-6
SLIDE 6

/ Department of Mathematics and Computer Science

Techniques used

The architecture can easiliy be configured by the user, due to our modular approach. If an external prover does not support some extension (e.g. integers), the required definitions and axioms are provided by the repository. The database uses a computable criterion called "more general" that implies "stronger". This is more flexible than looking for exact matches. The interactive prover has a GUI that employs proof by pointing and a Fitch style notation to enable users to conveniently construct proofs. This is done by using a typed lambda-calculus as foundation.

slide-7
SLIDE 7

/ Department of Mathematics and Computer Science

Questions?