Software Verification - a postpositivistic approach Georg Weissenbacher brought to you by
to assure that software fully satisfies all the expected requirements. Verification? to assure that software fully satisfies all the expected requirements. empirical verification can never be conclusive! (Sir Karl Popper)
‘All swans are white.’ (in particular, there are no black ones)
Counterexamples convincing conclusive irrefutable
Ariane 5 Disaster June 04, 1996 explosion after 42 sec altitude 3700 meters MC 68020 CPU, 18MHz approx. 2.8 MIPS 42 s x 2.8 MI/s = 117,6 MI 3.17 x 104 instructions/m geostationary orbit: 35 786 km
i := i + 1 N i = 1 i := 0
i := i * 5; j := i + j; i := 5N; j := N * 5N; N
iN = 5N jN = N * 5N N
Predicate Abstraction Widening/ Acceleration Model Checking Invariant Generation Abstraction/ Refinement
Questions? Thank you for your attention. Please also have a look at some of our papers: * Counterexamples with Loops for Predicate Abstraction (CAV 2006). * A Complete Bounded Model Checking Algorithm for Pushdown Systems (SPIN 2007) * A Survey of Automated Techniques for Formal Software Verification (TCAD 2008) * more on http://www.georg.weissenbacher.name