Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

40
Formal verification Marco A. Peña Universitat Politècnica de Catalunya
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Page 1: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification

Marco A. Peña

Universitat Politècnica de Catalunya

Page 2: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Outline Motivation

Simulation

Formal verification

– Theorem proving

– Model checking

State space exploration

Formal verification with relative timing

Conclusions

Page 3: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Motivation

Page 4: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Motivation: the problem System’s complexity: continuous growth is scale and

functionality

Probability to introduce design errors increases

System failures are unacceptable:

– Software: cost of update, credibility, etc.

– Embedded software: no update possible

– Hardware: high cost of fabrication/replacement

– Safety-critical systems: catastrophic consequences Delay in time-to-market, loss of money and human lives!!

Page 5: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Motivation: examples 1994: Floating point divider unit of Pentium microprocessor

– Bug in the implementation of the division algorithm

– 475 million US $

1996: Launch failure of Ariane 5 rocket

– Wrong data type conversion when computing altitude

– Explosion 36 minutes after lunch 1986: Challenger space shuttle

– … What else?

Page 6: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Motivation: where do bugs come from? Incorrect specifications

Misinterpretation of specifications

Misunderstandings between designers

Missed cases

Protocol non-conformance

And a long etcetera.

Page 7: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Motivation: what to do? Develop methods to ensure systems reliability

Detect and fix bugs at the early stages of the design flow

Verification:

– General bug-finding techniques.

– Usually simulation.

Formal verification:

– Methods for 100% bug coverage.

– Use mathematical formalisms (logics, automata, etc.) and techniques to reason about the correctness of a system.

Page 8: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Simulation

Page 9: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Simulation Predominant verification method: intuitive idea

Construction of test-cases: manually, randomly, etc.

“Heisenbug” paradigm: when trying to reproduce a bug it never shows up

Example: (x+1)2 = x2 + 2x +1 ?

Page 10: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Simulation Example:

– Concurrent processes A and B

– Events happen concurrently every 1010 operation cycles

Process A

.......

X := X + 1

.......

Process B

.......

X := X - 1

.......

Precondition X = 0

Postcondition X = 1 (!)

Page 11: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Simulation: typical experience

Time

Functional testing

Purgatory Product in the marketBugs

found

Page 12: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification

Page 13: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification Ensures consistency with specification for all possible

input patterns: exhaustive coverage

Requires:

– Formal model of the system

– Formal specification language: properties

– Reasoning method

Main strategies:

– Theorem proving

– Model checking

Page 14: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification Example: (x+1)2 = x2 + 2x +1 ?

Page 15: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification: theorem proving

Implementation and specification: formulas in some mathematical logic

Deep knowledge of the formalisms and proof techniques

The prover is often human

Useful for: arithmetic algorithms, etc.

Page 16: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification: theorem proving Major drawbacks: no guarantee of a proof, complexity of

the proof, no counterexample, …

Some impressive results:

– AMD K7 floating point unit

– Combined with model checking: Intel P4 instruction decoder

Few automatic tools exist

Not a general solution:

– Too expert human interaction

– Only for small problems or niche applications

Page 17: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification: model checking

The checker enumerates all the states of the system

Finite state space, but combinatorial explosion !

Symbolic methods, partial orders, abstractions, etc.

Several automatic tools and success stories exist

Page 18: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification: model checking Gaining acceptance but not yet widely used

Major drawbacks: state explosion problem and tools difficult to use for designers

Commercial tools start to appear: Abstract, Chrysalis, IBM, Lucent, Verysys, …

Companies have increasing interest: IBM, Intel, AT&T, etc. Oportunity!

Not a general solution:

– Combination with theorem proving

– Combination with semi-formal strategies

Page 19: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

State space exploration

Page 20: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

State space exploration Combinatorial explosion

Symbolic representations: BDDs

Page 21: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

State space exploration

Some states do not exist, but …

Page 22: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

State space exploration

Time incorporates a new source of exponentiality !!

Page 23: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Formal verification with

Relative Timing

Page 24: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach: main features

Model checking-like approach for timed systems

Iterative incremental refinement of the untimed state space by:

– Off-line timing analysis on small acyclic graphs, and

– Incorporation of Relative Timing constraints

Verification of temporal safety properties

BDD-based symbolic representation: large untimed state

spaces

Backannotation: sufficient relative timing constraints for

correctness are reported, or counterexample trace

Page 25: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach: system model

Timed Transition Systems: Transition System + delay bounds

Page 26: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach

Page 27: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach

Page 28: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach

Page 29: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach

Page 30: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach

Page 31: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach

Page 32: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach

Page 33: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Symbolic state space exploration

and failure detection

Verification approach

Page 34: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Failure states

• Failure trace• Event structure

x

a b

cg

d

• Timing analysis• Composition

Verification approach

[1,2] [1,2]

[1,2]

[3,4]

[1,2]

[1,2]

Page 35: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

• Failure trace• Event structure

x

a b

cg

d

• Timing analysis• Composition

Verification approach

[1,2] [1,2]

[1,2]

[3,4]

[1,2]

[1,2]

Page 36: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Verification approach: flow

Page 37: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Conclusions

Page 38: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Conclusions

Size of the system (state bits)

Pro

bab

ilit

y o

f ve

rifi

cati

on

Research

Real systems

1 10 100 103 104 105 106 107

100%

Page 39: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Conclusions: research

Research in Spain: University

– PhD programs, FI/FPI grants

– Possible stages in foreign universities/companies

Verification teams in companies grow much faster than

design teams: oportunity!

Companies and research centers:

– USA and Europe

– PhD required

Page 40: Formal verification Marco A. Peña Universitat Politècnica de Catalunya.

Conclusions: collaboration, projects,…

Long list of open problems:

– Real case studies: circuits, protocols, etc.

– Implementations of other techniques for comparison

– Parallel implementations: clusters, etc.

– Combination of techniques: formal and semi-formal, etc.

– …