Upgrade to PRO for Only $50/Yearโ€”Limited-Time Offer! ๐Ÿ”ฅ

Combining CEGAR and Lazy Abstraction for Verify...

Combining CEGAR and Lazy Abstraction for Verifying Timedย Systems

Timed automata with clocks and data variables are a widely used formalism for modeling timed systems with complex behaviors. Counterexample-guided abstraction refinement (CEGAR) and lazy abstraction can both construct an abstract state space representation: CEGAR supports a wide set of expressive data abstractions, but only few refinement techniques for clocks, in contrast, lazy abstraction is more efficient for time abstraction. We present a combined abstraction refinement technique to take advantage of the benefits of CEGAR for data variables and lazy abstraction for clocks.

Avatar for Critical Systems Research Group

Critical Systems Research Group

September 26, 2023
Tweet

More Decks by Critical Systems Research Group

Other Decks in Research

Transcript

  1. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems Dรณra

    Cziborovรก Alpine Verification Meeting 2023
  2. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 2

    โ€ข Complex timed behaviors and computations with external data (sensor inputs) โ€ข System models specified by higher-level formalisms, e.g., โ€“ XTA composite models โ€“ Block diagrams and timed statecharts from systems engineering tools โ€ข Examples: railway communication protocols, safety-critical automotive subsystems Verification of Timed Systems by Model Checking System Requirement Formalized requirement Formal model Model checker ๐Ÿ—ธ โœ— Real-time software-intensive systems
  3. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 3

    Verification of Timed Systems by Model Checking System Requirement Formalized requirement Formal model Model checker ๐Ÿ—ธ โœ— measure error check timeout ๐‘ โ‰ค 0.15 c > 0.05 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โˆ’360 โ‰ค ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰ค 360 ๐‘ โ‰ค 0.5 ๐‘ โ‰ฅ 0.5 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ÿ๐‘’๐‘ ๐‘’๐‘ก(๐‘) โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ! = ๐‘Ž๐‘›๐‘”๐‘™๐‘’ Transition system with data and clock variables Running example: simplified model of redundant automotive sensor ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰” 0 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰” 0
  4. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 4

    Verification of Timed Systems by Model Checking System Requirement Formalized requirement Formal model Model checker ๐Ÿ—ธ โœ— measure error check timeout ๐‘ โ‰ค 0.15 c > 0.05 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โˆ’360 โ‰ค ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰ค 360 ๐‘ โ‰ค 0.5 ๐‘ โ‰ฅ 0.5 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ÿ๐‘’๐‘ ๐‘’๐‘ก(๐‘) โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ! = ๐‘Ž๐‘›๐‘”๐‘™๐‘’ Transition system with data and clock variables Running example: simplified model of redundant automotive sensor Sensor input replaced by nondeterminism Communication replaced by nondeterminism ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰” 0 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰” 0
  5. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 5

    1) Data variables: โ€ข State space explosion 2) Clock variables: โ€ข Continuous variables โ€ข Reasoning with an uncountably infinite set of states Challenges of Verifying Timed Systems Running example: simplified model of redundant automotive sensor measure error check timeout ๐‘ โ‰ค 0.15 c > 0.05 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โˆ’360 โ‰ค ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰ค 360 ๐‘ โ‰ค 0.5 ๐‘ โ‰ฅ 0.5 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ÿ๐‘’๐‘ ๐‘’๐‘ก(๐‘) โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ! = ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰” 0 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰” 0
  6. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 6

    Abstraction-based methods: โ€ข An abstract state may represent multiple concrete states โ€ข State space exploration: abstract reachability graph (ARG) of abstract states and transitions Abstraction, Abstract Reachability Graph
  7. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 7

    Abstract Domains Zone abstraction Explicit value abstraction Predicate abstraction
  8. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 8

    Abstract Domain for Time Abstraction Zone abstraction ๐‘2 ๐‘1 ๐‘1 โ‰ค 7 ๐‘1 โ‰ฅ 1 ๐‘2 < 4 ๐‘2 โ‰ฅ 0 ๐‘2 โˆ’ ๐‘1 < 1 ๐‘1 โˆ’ ๐‘2 < 5 ๐‘ ๐‘ A set of clock valuations The same set of clock valuations as a set of clock constraints
  9. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 9

    CEGAR (CounterExample-Guided Abstraction Refinement) Refiner ๐Ÿ—ธ โœ— Abstract counterexample Refined precision Initial precision Abstractor ARG build prune
  10. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 10

    CEGAR (CounterExample-Guided Abstraction Refinement) Refiner ๐Ÿ—ธ โœ— Abstract counterexample Refined precision Initial precision Abstractor ARG build prune Builds the ARG with given precision
  11. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 11

    CEGAR (CounterExample-Guided Abstraction Refinement) Refiner ๐Ÿ—ธ โœ— Abstract counterexample Refined precision Initial precision Abstractor ARG build prune Builds the ARG with given precision Precision e.g. a set of predicates ๐œ‹ = ๐‘, ๐‘ž
  12. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 12

    CEGAR (CounterExample-Guided Abstraction Refinement) Refiner ๐Ÿ—ธ โœ— Abstract counterexample Refined precision Initial precision Abstractor ARG build prune Builds the ARG with given precision Checks feasibility of counterexample Precision e.g. a set of predicates ๐œ‹ = ๐‘, ๐‘ž
  13. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 13

    CEGAR (CounterExample-Guided Abstraction Refinement) Refiner ๐Ÿ—ธ โœ— Abstract counterexample Refined precision Initial precision Abstractor ARG build prune Builds the ARG with given precision Checks feasibility of counterexample Precision e.g. a set of predicates ๐œ‹โ€ฒ = ๐‘, ๐‘ž, ๐‘Ÿ ๐œ‹ = ๐‘, ๐‘ž
  14. 14 Lazy Abstraction ๐Ÿ—ธ โœ— Lazy Abstractor ARG build Refinement

    Abstraction Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  15. 15 Lazy Abstraction Nodes with concrete and abstract labels ๐Ÿ—ธ

    โœ— Lazy Abstractor ARG build Refinement Abstraction Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  16. 16 Lazy Abstraction Nodes with concrete and abstract labels ๐Ÿ—ธ

    โœ— Lazy Abstractor ARG build Refinement Abstraction measure check ๐‘ โ‰ค 0.15 c > 0.05 ๐‘ โ‰ค 0.5 Loc. measure C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  17. 17 Lazy Abstraction Nodes with concrete and abstract labels ๐Ÿ—ธ

    โœ— Lazy Abstractor ARG build Refinement Abstraction measure check ๐‘ โ‰ค 0.15 c > 0.05 ๐‘ โ‰ค 0.5 Loc. measure C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Without over- approximation Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  18. 18 Lazy Abstraction Nodes with concrete and abstract labels ๐Ÿ—ธ

    โœ— Lazy Abstractor ARG build Refinement Abstraction measure check ๐‘ โ‰ค 0.15 c > 0.05 ๐‘ โ‰ค 0.5 Loc. measure C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Without over- approximation Initialized as abstract as possible Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  19. 19 Lazy Abstraction Nodes with concrete and abstract labels ๐Ÿ—ธ

    โœ— Lazy Abstractor ARG build Refinement Abstraction measure check ๐‘ โ‰ค 0.15 c > 0.05 ๐‘ โ‰ค 0.5 Loc. measure C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Loc. check C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Without over- approximation Initialized as abstract as possible Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  20. 20 Lazy Abstraction Nodes with concrete and abstract labels ๐Ÿ—ธ

    โœ— Lazy Abstractor ARG build Refinement Abstraction Not parameterized by precision measure check ๐‘ โ‰ค 0.15 c > 0.05 ๐‘ โ‰ค 0.5 Loc. measure C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Loc. check C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Without over- approximation Initialized as abstract as possible Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  21. 21 Lazy Abstraction Nodes with concrete and abstract labels ๐Ÿ—ธ

    โœ— Lazy Abstractor ARG build Refinement Abstraction Maintains the ARG properties - correctness Not parameterized by precision measure check ๐‘ โ‰ค 0.15 c > 0.05 ๐‘ โ‰ค 0.5 Loc. measure C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Loc. check C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Without over- approximation Initialized as abstract as possible Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  22. 22 Lazy Abstraction Nodes with concrete and abstract labels ๐Ÿ—ธ

    โœ— Lazy Abstractor ARG build Refinement Abstraction The ARG is complete A counterexample is found Maintains the ARG properties - correctness Not parameterized by precision measure check ๐‘ โ‰ค 0.15 c > 0.05 ๐‘ โ‰ค 0.5 Loc. measure C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Loc. check C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ Without over- approximation Initialized as abstract as possible Combining CEGAR and Lazy Abstraction for Verifying Timed Systems
  23. 23 Combining CEGAR and Lazy Abstraction for Verifying Timed Systems

    CEGAR Lazy abstraction Efficient, supports a wide set of expressive abstractions Either inefficient refinement techniques, or has limited expressiveness Time abstraction Data abstraction Efficient abstraction and refinement techniques Requires defining precision โ†’ inefficient refinement techniques
  24. 24 Combining CEGAR and Lazy Abstraction for Verifying Timed Systems

    CEGAR Lazy abstraction Efficient, supports a wide set of expressive abstractions Either inefficient refinement techniques, or has limited expressiveness Time abstraction Data abstraction Efficient abstraction and refinement techniques Requires defining precision โ†’ inefficient refinement techniques
  25. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 25

    CEGAR on data projection, lazy abstraction on time projection Combining CEGAR and Lazy Abstraction ๐Ÿ—ธ โœ— Abstract counterexample Refiner Refined data precision Initial data precision Abstractor Lazy Time Abstractor Lazy Time Refiner Eager Data Abstractor Eager Data Refiner ARG ๏‚ธ ๏‚ธ build prune ๏‚
  26. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 26

    CEGAR on data projection, lazy abstraction on time projection Combining CEGAR and Lazy Abstraction ๐Ÿ—ธ โœ— Abstract counterexample Refiner Refined data precision Initial data precision Abstractor Lazy Time Abstractor Lazy Time Refiner Eager Data Abstractor Eager Data Refiner ARG ๏‚ธ ๏‚ธ build prune ๏‚ Concrete and abstract time labels Abstract data labels
  27. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 27

    CEGAR on data projection, lazy abstraction on time projection Combining CEGAR and Lazy Abstraction ๐Ÿ—ธ โœ— Abstract counterexample Refiner Refined data precision Initial data precision Abstractor Lazy Time Abstractor Lazy Time Refiner Eager Data Abstractor Eager Data Refiner ARG ๏‚ธ ๏‚ธ build prune ๏‚ With given precision Not parameterized by precision Concrete and abstract time labels Abstract data labels
  28. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 28

    CEGAR on data projection, lazy abstraction on time projection Combining CEGAR and Lazy Abstraction ๐Ÿ—ธ โœ— Abstract counterexample Refiner Refined data precision Initial data precision Abstractor Lazy Time Abstractor Lazy Time Refiner Eager Data Abstractor Eager Data Refiner ARG ๏‚ธ ๏‚ธ build prune ๏‚ Strengthens the abstract time labels With given precision Not parameterized by precision Concrete and abstract time labels Abstract data labels
  29. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 29

    CEGAR on data projection, lazy abstraction on time projection Combining CEGAR and Lazy Abstraction ๐Ÿ—ธ โœ— Abstract counterexample Refiner Refined data precision Initial data precision Abstractor Lazy Time Abstractor Lazy Time Refiner Eager Data Abstractor Eager Data Refiner ARG ๏‚ธ ๏‚ธ build prune ๏‚ Strengthens the abstract time labels Checks feasibility of CEX on the data abstraction With given precision Not parameterized by precision Concrete and abstract time labels Abstract data labels
  30. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems Combining

    CEGAR and Lazy Abstraction ๏‚ธ ๏‚ธ Running example: simplified model of redundant automotive sensor measure error check timeout ๐‘ โ‰ค 0.15 c > 0.05 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โˆ’360 โ‰ค ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰ค 360 ๐‘ โ‰ค 0.5 ๐‘ โ‰ฅ 0.5 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ÿ๐‘’๐‘ ๐‘’๐‘ก(๐‘) โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ! = ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰” 0 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰” 0 30
  31. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems Combining

    CEGAR and Lazy Abstraction Loc. measure ๐‘ C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ ๏‚ธ ๏‚ธ Running example: simplified model of redundant automotive sensor measure error check timeout ๐‘ โ‰ค 0.15 c > 0.05 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โˆ’360 โ‰ค ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰ค 360 ๐‘ โ‰ค 0.5 ๐‘ โ‰ฅ 0.5 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ÿ๐‘’๐‘ ๐‘’๐‘ก(๐‘) โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ! = ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰” 0 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰” 0 Precision: ๐œ‹ = ๐‘ ๐‘ = ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ 31
  32. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems Combining

    CEGAR and Lazy Abstraction Precision: ๐œ‹ = ๐‘ ๐‘ = ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ Loc. measure ๐‘ C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. check ๐‘ C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. check ยฌ๐‘ C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Running example: simplified model of redundant automotive sensor measure error check timeout ๐‘ โ‰ค 0.15 c > 0.05 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โˆ’360 โ‰ค ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰ค 360 ๐‘ โ‰ค 0.5 ๐‘ โ‰ฅ 0.5 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ÿ๐‘’๐‘ ๐‘’๐‘ก(๐‘) โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ! = ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰” 0 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰” 0 32
  33. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems Combining

    CEGAR and Lazy Abstraction Precision: ๐œ‹ = ๐‘ ๐‘ = ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ Loc. measure ๐‘ C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. check ๐‘ C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. check ยฌ๐‘ C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. measure ๐‘ C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Running example: simplified model of redundant automotive sensor measure error check timeout ๐‘ โ‰ค 0.15 c > 0.05 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โˆ’360 โ‰ค ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰ค 360 ๐‘ โ‰ค 0.5 ๐‘ โ‰ฅ 0.5 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ÿ๐‘’๐‘ ๐‘’๐‘ก(๐‘) โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ! = ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰” 0 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰” 0 33
  34. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems Combining

    CEGAR and Lazy Abstraction Precision: ๐œ‹ = ๐‘ ๐‘ = ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ Loc. measure ๐‘ C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. check ๐‘ C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. check ยฌ๐‘ C. ๐‘ > 0.05 โˆง ๐‘ โ‰ค 0.5 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. measure ๐‘ C. ๐‘ โ‰ฅ 0 โˆง ๐‘ โ‰ค 0.15 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Loc. error ยฌ๐‘ C. ๐‘ > 0.05 A. ๐‘ โ‰ฅ 0 ๏‚ธ ๏‚ธ ๏‚ Refiner Running example: simplified model of redundant automotive sensor measure error check timeout ๐‘ โ‰ค 0.15 c > 0.05 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โˆ’360 โ‰ค ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰ค 360 ๐‘ โ‰ค 0.5 ๐‘ โ‰ฅ 0.5 โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ == ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ÿ๐‘’๐‘ ๐‘’๐‘ก(๐‘) โ„Ž๐‘Ž๐‘ฃ๐‘œ๐‘ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โˆ’360 โ‰ค ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰ค 360 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ ! = ๐‘Ž๐‘›๐‘”๐‘™๐‘’ ๐‘Ž๐‘›๐‘”๐‘™๐‘’ โ‰” 0 ๐‘๐‘Ÿ๐‘œ๐‘ ๐‘ ๐ถโ„Ž๐‘’๐‘๐‘˜ โ‰” 0 34
  35. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 35

    โ€ข 95 XTA models โ€“ Synthetic models โ€“ Industrial case studies โ€ข Restricted set of data operations โ€“ Enables comparison with lazy abstraction (det. and nondet.) and CEGAR Evaluation of the Combined Algorithm 1 10 100 0 10 20 30 40 50 60 Time (s) Models verified Lazy abstraction (nondet. supported) Lazy abstraction (deterministic only) Combined algorithm CEGAR The best among configurations with the same expressive power Less expressive power Sensor data User input
  36. Combining CEGAR and Lazy Abstraction for Verifying Timed Systems 36

    Summary Refiner ๐Ÿ—ธ โœ— Abstract counterexample Refined precision Initial precision Abstractor ARG build prune ๐Ÿ—ธ โœ— Abstract counterexample Refiner Refined data precision Initial data precision Abstractor Lazy Time Abstractor Lazy Time Refiner Eager Data Abstractor Eager Data Refiner ARG ๏‚ธ ๏‚ธ build prune ๏‚ ๐Ÿ—ธ โœ— Lazy Abstractor ARG build Refinement Abstraction