parameter synthesis with ic3
play

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


  1. FMCAD 2013 Parameter Synthesis with IC3 A. Cimatti, A. Griggio , S. Mover, S. Tonetta FBK, Trento, Italy

  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

  3. Problem definition ♦ Symbolic transition system S = h X; I; T i ♦ State variables X ♦ Initial-state formula I ( X ) ♦ Transition relation T ( X; X 0 ) ♦ Parametric system S = h U; X; I; T i ♦ Set of parameters U ♦ Init and trans T ( U; X; X 0 ) I ( U; X ) ♦ Valuation of induces S ° = h X; ° ( I ) ; ° ( T ) i ° U ♦ Synthesis problem: ♦ Given a property P ( U; X ) ♦ Find all valuations of such that iff ° 2 ½ S ° j ½ = ° ( P ) U

  4. Our starting point: [RTSS'08] ½ = > ; k = 0 Start from S = h X [ U; I ( X ) ^ ½; T ( X; X 0 ) ^ ½ ^ V u 2 U u 0 = u i Unsafe compute BMC-check( S, P, k ) bad( U ) = 9 X; X 0 ; : : : ; X k : BMC ¼ k update ½ 1 := ½ 0 ^ : bad

  5. Our starting point: [RTSS'08] ½ = > ; k = 0 Start from S = h X [ U; I ( X ) ^ ½; T ( X; X 0 ) ^ ½ ^ V u 2 U u 0 = u i Unsafe compute BMC-check( S, P, k ) BMC ¼ bad( U ) = 9 X; X 0 ; : : : ; X k : BMC ¼ k k BMC formula simplified by fixing Boolean variables to the values found in the counterexample trace update ½ 1 := ½ 0 ^ : bad

  6. Our starting point: [RTSS'08] ½ = > ; k = 0 Start from S = h X [ U; I ( X ) ^ ½; T ( X; X 0 ) ^ ½ ^ V u 2 U u 0 = u i BMC-check( S, P, k ) Safe Yes return ρ k > = k max ? No increase k

  7. Our starting point: [RTSS'08] ½ = > ; k = 0 Start from S = h X [ U; I ( X ) ^ ½; T ( X; X 0 ) ^ ½ ^ V u 2 U u 0 = u i BMC-check( S, P, k ) Statically determined Safe Yes return ρ k > = k max ? No increase k

  8. Drawbacks of [RTSS'08] (1) BMC-based, needs to know k max to terminate ♦ Implementation in [RTSS'08] only for task scheduling problems ♦ k max computed from domain knowledge (2) Quantifier elimination is a bottleneck ♦ As k grows, quant elim becomes prohibitively expensive BMC ¼ ♦ Even if is used k

  9. Drawbacks of [RTSS'08] (1) BMC-based, needs to know k max to terminate ♦ Implementation in [RTSS'08] only for task scheduling problems ♦ k max computed from domain knowledge (2) Quantifier elimination is a bottleneck ♦ As k grows, quant elim becomes prohibitively expensive BMC ¼ ♦ Even if is used k ♦ 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

  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

  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]

  12. Exploiting IC3-SMT counterexamples ♦ Consider the cex s 0 ( X; U ) ; s 1 ( X; U ) ; : : : ; s k ( X; U ) s 1 s 2 s 0 s k I : P

  13. Exploiting IC3-SMT counterexamples ♦ Consider the cex s 0 ( X; U ) ; s 1 ( X; U ) ; : : : ; s k ( X; U ) s 1 s 2 s 0 s k I : P ♦ Two (simple) observations: ♦ represents multiple states “by construction” s 0 ( X; U ) ♦ ALL the states in are bad and need to be blocked s 0 ( X; U )

  14. Exploiting IC3-SMT counterexamples ♦ Consider the cex s 0 ( X; U ) ; s 1 ( X; U ) ; : : : ; s k ( X; U ) s 1 s 2 s 0 s k I : P ♦ Two (simple) observations: ♦ represents multiple states “by construction” s 0 ( X; U ) ♦ ALL the states in are bad and need to be blocked s 0 ( X; U ) ♦ Therefore, we can use the cheaper bad( U ) = 9 X:s 0 ( X; U ) bad( U ) = 9 X; X 0 ; : : : ; X k : BMC ¼ instead of k

  15. IC3-based algorithm ½ = > Start from S = h X [ U; I ( X ) ^ ½; T ( X; X 0 ) ^ ½ ^ V u 2 U ( u 0 = u ) i get counterexample trace Unsafe IC3-check( S, P ) s 0 ( X; U ) ; s 1 ( X; U ) ; : : : ; s k ( X; U ) Safe return ρ compute bad( U ) = 9 X:s 0 ( X; U ) update ½ := ½ ^ : bad

  16. Optimizations (1) Exploit incrementality ♦ At each iteration: ♦ I new := I ^ : bad ♦ T new := T ^ : bad ♦ No need to restart from scratch, can keep all the previous F i 's ♦ Similarly, exploit incrementality in the underlying SMT solver

  17. Optimizations (2) The IC3 cex trace allows to play with the tradeoff generality / cost of quantifier elimination s 1 s 2 s 0 s k I : P

  18. Optimizations (2) The IC3 cex trace allows to play with the tradeoff generality / cost of quantifier elimination s 1 s j s k s 0 0 I : P ♦ Each state is bad, because it leads to s j : P ♦ Can also try blocking 9 X; X 0 ; : : : ; X j :s 0 ( X; U ) ^ T : : : ^ s j ( X j ; U ) ♦ Or in the limit 9 X; X 0 ; : : : ; X k :I ( X; U ) ^ T : : : ^ : P ( X k ; U ) ♦ Various heuristics are possible (see paper)

  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

  20. Results Iterative-block-path(IC3) ParamIC3 RED ParamIC3

  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

  22. Thank You

  23. Results ParamIC3-basic Iterative-block-path(IC3) ParamIC3 ParamIC3 RED ParamIC3

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend