Parameter Synthesis with IC3 A. Cimatti, A. Griggio , S. Mover, S. - - PowerPoint PPT Presentation

parameter synthesis with ic3
SMART_READER_LITE
LIVE PREVIEW

Parameter Synthesis with IC3 A. Cimatti, A. Griggio , S. Mover, S. - - PowerPoint PPT Presentation

FMCAD 2013 Parameter Synthesis with IC3 A. Cimatti, A. Griggio , S. Mover, S. Tonetta FBK, Trento, Italy Motivations and Contributions Parametric descriptions of systems arise in many domains E.g. software, cyber-physical systems, task


slide-1
SLIDE 1

FMCAD 2013

Parameter Synthesis with IC3

  • A. Cimatti, A. Griggio, S. Mover, S. Tonetta

FBK, Trento, Italy

slide-2
SLIDE 2

Motivations and Contributions

♦ Parametric descriptions of systems arise in many domains

♦ E.g. software, cyber-physical systems, task scheduling, ...

♦ Important problem: find parameter values that guarantee the

satisfaction of a given property

♦ This work: exploit (SMT aware) IC3 for parameter synthesis

♦ Simple extension of IC3 ♦ Exploit incrementality and generation of multiple

counterexamples

♦ Gives optimal parameter region for a given property ♦ Promising experimental results

slide-3
SLIDE 3

Problem definition

♦ Symbolic transition system

♦ State variables ♦ Initial-state formula ♦ Transition relation

♦ Parametric system

♦ Set of parameters ♦ Init and trans ♦ Valuation of induces

♦ Synthesis problem:

♦ Given a property ♦ Find all valuations of such that iff

X I(X) T(X; X0) I(U; X) T(U; X; X0) ° U S° = hX; °(I); °(T)i P(U; X) ½ U S = hX; I; Ti S = hU; X; I; Ti U ° 2 ½ S° j = °(P)

slide-4
SLIDE 4

Our starting point: [RTSS'08]

Start from

BMC-check(S, P, k)

Unsafe compute update

bad(U) = 9X; X0; : : : ; Xk:BMC¼

k

½1 := ½0 ^ :bad ½ = >; k = 0 S = hX[U; I(X)^½; T(X; X0)^½ ^ V

u2U u0 = ui

slide-5
SLIDE 5

Our starting point: [RTSS'08]

Start from

BMC-check(S, P, k)

Unsafe compute update

bad(U) = 9X; X0; : : : ; Xk:BMC¼

k

½1 := ½0 ^ :bad ½ = >; k = 0 S = hX[U; I(X)^½; T(X; X0)^½ ^ V

u2U u0 = ui

BMC formula simplified by fixing Boolean variables to the values found in the counterexample trace

BMC¼

k

slide-6
SLIDE 6

Our starting point: [RTSS'08]

Start from

BMC-check(S, P, k)

return ρ

Safe

k >= kmax?

Yes No

increase k

½ = >; k = 0 S = hX[U; I(X)^½; T(X; X0)^½ ^ V

u2U u0 = ui

slide-7
SLIDE 7

Our starting point: [RTSS'08]

Start from

BMC-check(S, P, k)

return ρ

Safe

k >= kmax?

Yes No

increase k

½ = >; k = 0 S = hX[U; I(X)^½; T(X; X0)^½ ^ V

u2U u0 = ui

Statically determined

slide-8
SLIDE 8

Drawbacks of [RTSS'08]

(1) BMC-based, needs to know kmax to terminate

♦ Implementation in [RTSS'08] only for task scheduling problems ♦ kmax computed from domain knowledge

(2) Quantifier elimination is a bottleneck

♦ As k grows, quant elim becomes prohibitively expensive ♦ Even if is used

BMC¼

k

slide-9
SLIDE 9

Drawbacks of [RTSS'08]

(1) BMC-based, needs to know kmax to terminate

♦ Implementation in [RTSS'08] only for task scheduling problems ♦ kmax computed from domain knowledge

(2) Quantifier elimination is a bottleneck

♦ As k grows, quant elim becomes prohibitively expensive ♦ Even if is used

♦ Solution for (1): use IC3-SMT instead of BMC

♦ But still (2) is a problem! ♦ We can do better with a tighter integration with IC3

BMC¼

k

slide-10
SLIDE 10

IC3 with SMT [CAV'12]

♦ IC3 main features (for this work):

♦ incremental construction of clauses ♦ from counterexamples to induction ♦ by recursively blocking predecessors of bad states ♦ if initial states are reached, we have a counterexample trace

slide-11
SLIDE 11

IC3 with SMT [CAV'12]

♦ IC3 main features (for this work):

♦ incremental construction of clauses ♦ from counterexamples to induction ♦ by recursively blocking predecessors of bad states ♦ if initial states are reached, we have a counterexample trace

♦ We exploit a property of (the SMT extension of) IC3:

♦ a counterexample trace represents multiple counterexamples ♦ because predecessors are computed with (approximated)

quantifier elimination [CAV'12]

slide-12
SLIDE 12

Exploiting IC3-SMT counterexamples

♦ Consider the cex s0(X; U); s1(X; U); : : : ; sk(X; U)

:P s0 s2 s1 sk I

slide-13
SLIDE 13

Exploiting IC3-SMT counterexamples

♦ Consider the cex ♦ Two (simple) observations:

♦ represents multiple states “by construction” ♦ ALL the states in are bad and need to be blocked

s0(X; U); s1(X; U); : : : ; sk(X; U) :P s0 s2 s1 sk I s0(X; U) s0(X; U)

slide-14
SLIDE 14

Exploiting IC3-SMT counterexamples

♦ Consider the cex ♦ Two (simple) observations:

♦ represents multiple states “by construction” ♦ ALL the states in are bad and need to be blocked

♦ Therefore, we can use the cheaper

instead of

s0(X; U); s1(X; U); : : : ; sk(X; U) :P s0 s2 s1 sk I s0(X; U) s0(X; U) bad(U) = 9X; X0; : : : ; Xk:BMC¼

k

bad(U) = 9X:s0(X; U)

slide-15
SLIDE 15

IC3-based algorithm

Start from IC3-check(S, P)

S = hX[U; I(X)^½; T(X; X0)^½ ^ V

u2U(u0 = u)i

½ = >

Unsafe

return ρ

Safe

s0(X; U); s1(X; U); : : : ; sk(X; U)

compute

bad(U) = 9X:s0(X; U)

get counterexample trace update

½ := ½ ^ :bad

slide-16
SLIDE 16

Optimizations

(1) Exploit incrementality

♦ At each iteration: ♦ ♦ ♦ No need to restart from scratch, can keep all the previous Fi's ♦ Similarly, exploit incrementality in the underlying SMT solver

Inew := I ^ :bad Tnew := T ^ :bad

slide-17
SLIDE 17

Optimizations

(2) The IC3 cex trace allows to play with the tradeoff generality / cost of quantifier elimination

:P s0 s2 s1 sk I

slide-18
SLIDE 18

Optimizations

(2) The IC3 cex trace allows to play with the tradeoff generality / cost of quantifier elimination

♦ Each state is bad, because it leads to

♦ Can also try blocking ♦ Or in the limit ♦ Various heuristics are possible (see paper)

:P s1 sk I

9X; X0; : : : ; Xj:s0(X; U) ^ T : : : ^ sj(Xj; U) 9X; X0; : : : ; Xk:I(X; U) ^ T : : : ^ :P(Xk; U)

s0 sj :P sj

slide-19
SLIDE 19

Experimental evaluation

♦ Implemented in the IC3-SMT tool of [CAV'12]

♦ Using MathSAT for SMT check and quantifier elimination

♦ Comparison with:

♦ Non incremental algorithm of [RTSS'08], but using IC3 ♦ “black box” use of IC3 ♦ RED [Wang'05], a state-of-the-art tool for linear-hybrid automata ♦ Based on the computation of reachable states ♦ Specialized for hybrid automata

♦ Benchmarks from linear hybrid systems

slide-20
SLIDE 20

Results

ParamIC3 Iterative-block-path(IC3) ParamIC3 RED

slide-21
SLIDE 21

Conclusions

♦ Simple extension of IC3-SMT for parameter synthesis ♦ Exploit IC3 features

♦ Construction of a trace encoding multiple counterexamples ♦ Incrementality ♦ Allows to control cost of quantifier elimination

♦ Easy to implement ♦ Compares positively with alternative approaches

slide-22
SLIDE 22

Thank You

slide-23
SLIDE 23

Results

ParamIC3 ParamIC3 Iterative-block-path(IC3) ParamIC3-basic ParamIC3 RED