The Future of Formal Software Verification in...

21
The Future of Formal Software Verification in Avionics Yannick Moy Formal Methods 2012 Industry Day

Transcript of The Future of Formal Software Verification in...

Page 1: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

The Future of Formal

Software Verification in Avionics

Yannick Moy

Formal Methods 2012 Industry Day

Page 2: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Background

Page 3: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Formal methods […] might be the

primary source of evidence for

the satisfaction of many of the

objectives concerned with

development and verification.

2011: Formal Methods Supplement (DO-333)

DO-178C: formal methods can replace testing

Page 4: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Programming Contracts

{P}C{Q} Hoare logic (1969)

logic contracts

for proofs

SPARK (1987)

executable contracts

for tests

Eiffel DbC (1986)

Hi-Lite: executable annotation language???

Page 5: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Project

Page 6: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Ada 2012

Page 7: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence
Page 8: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

GNAT compiler support for Ada 2012

• Run-time checking of new assertions

• New aspect to formally specify test cases

• New switch to choose semantics of integers in assertions, e.g.

unbounded integers or largest machine integers

• New library of containers adapted to formal verification (lists, sets,

maps, vectors)

• New run-time checks for integrating tests and proofs

Page 9: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Proof + Test

Page 10: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Testing vs. Formal Verification

R Q

P

P Q

P calls Q

prove pre of Q

assume post of Q

assume pre of Q

prove post of Q

P Q

P calls Q

use Q code

cover P constructs

actual body of Q

or stub…

global soundness argument:

all functions proved

all assumptions justified

local exhaustivity argument:

each function covered

enough behaviors

explored

Page 11: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Combining tests and proofs

verification combining tests and proofs should be

AT LEAST AS GOOD AS

verification based on tests only

P Q

P calls Q

P is tested

Q is proved Q calls P

How so we justify

assumptions made

during proof?

Page 12: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Combination 1: tested calls proved

P Q

P calls Q

P is tested

Q is proved

during testing:

check that

precondition of Q

is respected

assumption for proof:

precondition of Q

is respected

Page 13: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Combination 2: proved calls tested

P Q

P is tested

Q is proved Q calls P

during testing:

check that

postcondition of P

is respected

assumption for proof:

postcondition of P

is respected

Page 14: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

) …

Caution: contracts are not only pre/post!

data dependences

parameters

not aliased

parameters

initialized

strong typing

Testing must check additional properties

Done by compiler instrumentation

Page 15: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Testing + Formal Verification

R Q

P

global soundness argument:

- proof: assumptions proved

- test: assumptions tested

tested

proved

proved

local exhaustivity argument:

- test: function covered

- proof: by nature of proof

Page 16: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

GNAT toolsuite

GNAT

compiler

GNATtest

unit testing

GNATprove

unit proof

executable

GNATmerge

aggregate

results

Page 17: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

GNATmerge result

Page 18: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Conclusion

Page 19: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

• Soundness

• Applicability to the code

• Usability by normal engineers on normal computers

• Improve on classical methods

• Certifiability

Airbus 5 “must-have” of formal methods

current work

Page 20: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

Project Partners

Page 21: The Future of Formal Software Verification in Avionicsfm2012.cnam.fr/fm2012/ID2012-Yannick-Moy.pdf · 2013. 6. 18. · Formal methods […] might be the primary source of evidence

www.open-do.org/projects/hi-lite