boosting verification scalability via structural grouping
play

Boosting Verification Scalability via Structural Grouping and - PowerPoint PPT Presentation

Boosting Verification Scalability via Structural Grouping and Semantic Partitioning of Properties Rohit Dureja * , Jason Baumgartner , Alexander Ivrii , Robert Kanzelman , Kristin Y. Rozier * * Iowa State University IBM Corporation


  1. Boosting Verification Scalability via Structural Grouping and Semantic Partitioning of Properties Rohit Dureja * , Jason Baumgartner † , Alexander Ivrii † , Robert Kanzelman † , Kristin Y. Rozier * * Iowa State University † IBM Corporation October 23, 2019

  2. Motivation Structural Summary Cone-of-Influence Semantic Model Checking Usually multiple properties to be verified 2

  3. Motivation Structural Summary Cone-of-Influence Semantic Model Checking Report Make multi-property verification scalable 3

  4. Motivation Structural Summary Cone-of-Influence Semantic Multi-Property Verification • Properties checked concurrently, or one-at-a-time • Doesn’t optimally exploit sub-problem sharing Report Opportunity to save verification resources! 4

  5. Motivation Structural Summary Cone-of-Influence Semantic Improved Multi-Property Verification • Group ‘high-affinity’ properties; similarity metric • Properties in a group are concurrently solved; parallel groups • Engine effort reused across properties in a group Report What similarity metric to use? 5

  6. Motivation Structural Summary Cone-of-Influence Semantic Similarity Measure • Every property has distinct minimal cone-of-influence (COI) • Multiple properties à exponential complexity w.r.t to collective COI • Concurrent verification slower that one-at-a-time • Nearly identical COI à save verification resource* • Experimental demonstrated, offline-grouping P 1 Structurally Similar P 2 Inputs P 3 Design * G. Cabodi, P. E. Camurati, C. Loiacono, M. Palena, P. Pasini, D. Patti, and S. Quer, “To split or to group: from divide-and-conquer to sub- task sharing for 6 6 verifying multiple properties in model checking,” International Journal on Software Tools for Technology Transfer (STTT) , vol. 20, no. 3, pp. 313–325, Jun 2018

  7. Motivation Structural Summary Cone-of-Influence Semantic Our Contributions • Online procedure to partition properties into high-affinity groups • Near-linear runtime and automated; provable affinity bounds Initial Grouping P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 7

  8. Motivation Structural Summary Cone-of-Influence Semantic Our Contributions • Online procedure to partition properties into high-affinity groups • Near-linear runtime and automated; provable affinity bounds • Property grouping based on cone-of-influence • Structural information (static) • Structurally-similar properties may have different semantics • Subset of design logic in cone-of-influence Initial Grouping P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 Structural A ffi nity Grouping P 2 P 4 P 5 P 1 P 3 P 7 P 9 P 0 P 6 P 8 8

  9. Motivation Structural Summary Cone-of-Influence Semantic Our Contributions • Online procedure to partition properties into high-affinity groups • Near-linear runtime and automated; provable affinity bounds • Property grouping based on cone-of-influence • Structural information (static) • Structurally-similar properties may have different semantics • Subset of design logic in cone-of-influence • Property-group refinement using localization abstraction • Semantic information (dynamic) Initial Grouping P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 Structural A ffi nity Grouping P 2 P 4 P 5 P 1 P 3 P 7 P 9 P 0 P 6 P 8 Semantic A ffi nity Partitioning P 2 P 4 P 5 P 1 P 3 P 7 P 9 P 0 P 6 P 8 9

  10. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative P 1 P 2 Inputs P 3 Design 10

  11. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative P 1 P 1 P 2 Inputs P 3 Design 11

  12. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative P 1 P 2 P 2 Inputs P 3 Design 12

  13. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative P 1 P 2 Inputs P 3 P 3 Design 13

  14. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative Our Method P 1 P 1 P 1 P 2 P 2 P 2 Inputs Inputs P 3 P 3 P 3 Design Design Repeated traversals • Does not scale! • 14

  15. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative Our Method P 1 P 1 P 1 P 1 P 2 P 2 P 2 Inputs Inputs P 3 P 3 P 3 Design Design Repeated traversals • Does not scale! • 15

  16. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative Our Method P 1 P 1 P 1 P 1 P 2 P 2 P 2 Inputs Inputs P 3 P 3 P 3 Design Design Repeated traversals • Does not scale! • 16

  17. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative Our Method P 1 P 1 P 1 P 1 P 2 P 2 P 2 P 2 Inputs Inputs P 3 P 3 P 3 Design Design Repeated traversals • Does not scale! • 17

  18. Motivation Structural Summary Cone-of-Influence Semantic Cone-of-Influence Computation Iterative Our Method P 1 P 1 P 1 P 1 P 2 P 2 P 2 P 2 Inputs Inputs P 3 P 3 P 3 Design Design Repeated traversals One traversal • • Does not scale! Very scalable • • 18

  19. Motivation Structural Summary Cone-of-Influence Semantic COI Computation via Support Vectors • Support variable – registers and inputs in COI • Represent every support variable as a bit • Bitvector operations to compute support (linear) Support Vectors v 4 v 7 v 0 v 8 P 0 0 1 2 3 4 5 6 7 8 9 v 3 v 6 v 1 v 9 P 1 0 1 2 3 4 5 6 7 8 9 v 2 v 5 G. Cabodi, P. Camurati, and S. Quer, “A graph-labeling approach for efficient cone-of-influence computation in model-checking problems with multiple 19 19 properties,” Software: Practice and Experience , vol. 46, no. 4, pp. 493–511, 2016.

  20. Motivation Structural Summary Cone-of-Influence Semantic COI Computation via Support Vectors • Support variable – registers and inputs in COI • Represent every support variable as a bit • Bitvector operations to compute support (linear) Support Vectors v 4 v 7 v 0 v 8 P 0 1 0 1 2 3 4 5 6 7 8 9 v 3 v 6 v 1 v 9 P 1 0 1 2 3 4 5 6 7 8 9 v 2 v 5 G. Cabodi, P. Camurati, and S. Quer, “A graph-labeling approach for efficient cone-of-influence computation in model-checking problems with multiple 20 20 properties,” Software: Practice and Experience , vol. 46, no. 4, pp. 493–511, 2016.

  21. Motivation Structural Summary Cone-of-Influence Semantic COI Computation via Support Vectors • Support variable – registers and inputs in COI • Represent every support variable as a bit • Bitvector operations to compute support (linear) • Constant-time inspection Support Vectors v 4 v 7 v 0 v 8 P 0 1 1 0 1 1 0 1 1 1 0 0 1 2 3 4 5 6 7 8 9 v 3 v 6 v 1 v 9 P 1 1 1 1 1 0 1 1 0 0 1 0 1 2 3 4 5 6 7 8 9 v 2 v 5 G. Cabodi, P. Camurati, and S. Quer, “A graph-labeling approach for efficient cone-of-influence computation in model-checking problems with multiple 21 21 properties,” Software: Practice and Experience , vol. 46, no. 4, pp. 493–511, 2016.

  22. Motivation Structural Summary Cone-of-Influence Semantic Support Vector Computation • Several optimizations to improve time/memory • Directed acyclic graph – SCCs à shorter bitvectors • Garbage collection à peak memory requirement 1000 Support vector time (sec) 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 Iterative time (sec) Several orders of magnitude faster! G. Cabodi, P. Camurati, and S. Quer, “A graph-labeling approach for efficient cone-of-influence computation in model-checking problems with multiple 22 22 properties,” Software: Practice and Experience , vol. 46, no. 4, pp. 493–511, 2016.

  23. Motivation Structural Summary Cone-of-Influence Semantic Structural Grouping • Properties with ‘similar’ support bitvectors above threshold t • Classical clustering – very slow, at least O(n 2 ) • Three-level approximate clustering (near-linear runtime) Initial Grouping P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 23

  24. Motivation Structural Summary Cone-of-Influence Semantic Structural Grouping • Properties with ‘similar’ support bitvectors above threshold t • Classical clustering – very slow, at least O(n 2 ) • Three-level approximate clustering (near-linear runtime) Initial Grouping P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 Level-1 Grouping P 0 P 2 P 1 P 3 P 4 P 7 P 9 P 5 P 6 P 8 (identical support) 24

  25. Motivation Structural Summary Cone-of-Influence Semantic Structural Grouping • Properties with ‘similar’ support bitvectors above threshold t • Classical clustering – very slow, at least O(n 2 ) • Three-level approximate clustering (near-linear runtime) Initial Grouping P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 Level-1 Grouping P 0 P 2 P 1 P 3 P 4 P 7 P 9 P 5 P 6 P 8 (identical support) Level-2 Grouping P 0 P 2 P 1 P 3 P 4 P 7 P 9 P 5 P 8 P 6 (SCC sharing) 25

Recommend


More recommend