20
Title Page State Abstraction Techniques he Verification of Reactive Cir Designing Correct Circuits, European Joint Conference on Theory and Practice of Software, Grenoble, France april 6-7 2002 Yannis Bres, CMA-EMP / INRIA Gérard Berry, Esterel Technologies Amar Bouali, Esterel Technologies Ellen M. Sentovich, Cadence Berkeley Labs

Title Page

Embed Size (px)

DESCRIPTION

State Abstraction Techniques for the Verification of Reactive Circuits. Title Page. Designing Correct Circuits, European Joint Conference on Theory and Practice of Software, Grenoble, France  april 6-7 2002. - PowerPoint PPT Presentation

Citation preview

Page 1: Title Page

Title Page

State Abstraction Techniquesfor the Verification of Reactive Circuits

Designing Correct Circuits,European Joint Conference on Theory and Practice of Software,

Grenoble, France april 6-7 2002

Yannis Bres, CMA-EMP / INRIA Gérard Berry, Esterel Technologies Amar Bouali, Esterel Technologies

Ellen M. Sentovich, Cadence Berkeley Labs

Page 2: Title Page

Outline

Outline

IntroductionContext of our workFinite State Machines (FSMs)Reachable State Space (RSS) computation principle and algorithm

Computing Over-approximated Reachable State Space (ORSS)State variable inputizationVariable abstraction using ternary-valued logic

Refinement using the Esterel Selection TreeExperiment resultsConclusions

Page 3: Title Page

Reachable State Space Uses

Reachable State Space Uses

Computing the Reachable State Space of a design is used for:Formal verification by observersEquivalence checkingAutomated test pattern generationState minimizationState re-encoding…

Page 4: Title Page

Exact RSS computation is expensive

Exact RSS computation is expensive

Exponentially complex wrt. intermediate variables, in both memory and time:1 variable per input2 variables per state variable

Several (orthogonal) techniques to reduce complexity:Application-specific partial RSS computation (transitive network sweeping)BDD pruningDecomposed FSM RSS computationTurning state variables into inputs…Our approach : abstracting variables through ternary-valued logic

Page 5: Title Page

Context of our work

Context of our work

Synchronous logical circuits (RTL level) derived from high-level hierarchical programs written in SyncCharts, ECL or Esterel

Well-suited for control-dominated programs, both for hardware and software targets

Implicit state set representation using BDDs (TiGeR package)Application to safety property verification (synchronous observers)Implemented as a command-line tool

Page 6: Title Page

FSMs

FSMs

A Finite State Machine (FSM) is described by the tuple , whereis the number of inputs

is the number of state variables (registers)is the number of outputs

is the transition functionis the output function

describes the set of initial statesdescribes the valid input space

Page 7: Title Page

RSS computation principle

RSS computation principle

Find the limit of the converging sequence:

Where becomes:

Eventually, the equality becomes:

Page 8: Title Page

Basic RSS computation algorithm

Basic RSS computation algorithm

Page 9: Title Page

Complexity analysis

Complexity analysis

With BDDs:: constant, : polynomial, substitutions: exponential… with respect to the number of intermediate variables

Goal: reducing the number of intermediate variables !

Constraint: be “conservative”, i.e. compute an over-approximation of the RSSThus, if property holds on the “cheap” ORSS, it holds on the exact RSS

Page 10: Title Page

State variable inputization

State variable inputization

Reduces the number of register variables2 variables per register 1 variable per inputized register

Reduces the number of functionsIncreases the swept area

Maintains correlation between instances of a variablei i = 0 i i = 1

Same number of a posteriori existential quantificationsOver-approximated result because constraints between variables are relaxed

“Snow-ball” effect

Page 11: Title Page

Ternary-valued logic

Ternary-valued logic

Usual Boolean logic with a third value: d or (i.e. , X, …)Parallel extension of Boolean operators:

0 11 0d d

0 1 d0 0 1 d1 1 1 1d d 1 d

0 1 d0 0 0 01 0 1 dd 0 d d

Dual-rail encoding of constants:v v0 v1

0 1 01 0 1d 0 0

Page 12: Title Page

Ternary-valued logic

Ternary-valued logic

Ternary Valued Functions (TVFs) are encoded using a pair of Boolean functions( f 0 , f 1 )

( f 0 , f 1 ) = ( f 1 , f 0 )Standard Boolean operators are extended to TVFs:

( f 0 , f 1 ) ( g0 , g1 ) = ( f 0 g0, f 1 g1 )( f 0 , f 1 ) ( g0 , g1 ) = ( f 0 g0, f 1 g1 )

f 0f 1

f d

Page 13: Title Page

Application to RSS computation

Application to RSS computation

The Boolean transition function

is enlarged as:

f 0f 1

f d

f f

Page 14: Title Page

Variable abstraction

Variable abstraction

Abstracted variables are replaced by the constant dReduces the number of state variables

2 variables per register 0 variable per abstracted registerReduces the number of input variables

1 variable per input 0 variable per abstracted inputEven fewer a posteriori existential quantificationsReduces the number of functions

Increases the swept areaLoses correlation between instances of a variable

d d = d d d = dEven more over-approximated result

“Snow-ball” effect

Variables to be abstracted must be chosen with great care!

Page 15: Title Page

Refinement Using the Esterel Selection Tree

Refinement Using the Esterel Selection Tree

[ await I1 ; do something ; await I2 ; do something || await I3 ; do something] ;await I4 ;do something

1

2

3

4

#

#

Gives an overapproximation ceilingAllows to reinforce input care set for inputized registers

Page 16: Title Page

Experiment results #1

Experiment results #1

Industrial design: fuel management system of a jet aircraft from Dassault Aviation ensures that the engines are properly fed manages system components failures manages the fuel load balancing between the two sides of the aircraft manages in-flight refueling …

Page 17: Title Page

Experiment results #1

Experiment results #1

property method result depth time memory

4exact

correct5 >10mn 79Mb

inputization 3 3.8s / 150 6Mb / 13abstraction 4 1.5s / 400 6Mb / 13

6exact

correct7 >2mn 21Mb

inputization 4 0.6s / 200 5Mb / 4abstraction 4 0.3s / 400 5Mb / 4

Inputization gives excellent results on all propertiesAbstraction gives even better ones !

Page 18: Title Page

Experiment results #2

Experiment results #2

Undisclosed industrial design

property method result depth time memory

all exact correct 14 1h 11 475Mb

1exact

correct13 28mn 203Mb

inputization 9 20s / 85 9Mb / 22abstraction 7 7s / 250 10Mb / 20

2

exact

correct

13 30mn 238Mbinputization 10 1mn 30s / 20 21Mb / 11

+ sel tree 4 4s / 460 7Mb / 34abstraction 8 17mn / 2 378Mb * 1.5+ sel tree 4 47s / 40 51Mb / 5

Page 19: Title Page

Experiment results #2

Experiment results #2

property method result depth time memory

3_1

exact

correct

13 30mn 203Mbinputization

107s / 262

7Mb / 29+ sel tree 4s / 460

abstraction8

39s / 47 34Mb / 6+ sel tree 23s / 80 23Mb / 9

3_2

exactcorrect

13 33mn 206Mbinputization

1025s / 80 11Mb / 19

+ sel tree 11s / 180 8Mb / 26abstraction false 2 0.5s 7Mb+ sel tree correct 8 25s / 80 16Mb / 13

Abstraction gives very good on most properties, but inputization often gives better ones !

Page 20: Title Page

Conclusions

Conclusions

A method to ease Reachable State Space computation, by computing an over-approximation of it, through variable abstraction, using a ternary-valued logic.

Requires some abstraction hints from the designer, easy in a graphical IDE for hierarchical designs.

Refinements and over-approximation ceiling from design structural informations

Quite good results on a few experiments on industrial designs, although current implementation is rather crude

Abstraction figures vs. inputization ones can be improved