Model Checking Large Design Spaces: Theory, Tools, and Experiments
Total Page:16
File Type:pdf, Size:1020Kb
Iowa State University Capstones, Theses and Graduate Theses and Dissertations Dissertations 2020 Model checking large design spaces: Theory, tools, and experiments Rohit Dureja Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd Recommended Citation Dureja, Rohit, "Model checking large design spaces: Theory, tools, and experiments" (2020). Graduate Theses and Dissertations. 18304. https://lib.dr.iastate.edu/etd/18304 This Thesis is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Model checking large design spaces: Theory, tools, and experiments by Rohit Dureja A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Computer Science Program of Study Committee: Kristin Y. Rozier, Co-major Professor Gianfranco Ciardo, Co-major Professor Samik Basu Robyn Lutz Hridesh Rajan The student author, whose presentation of the scholarship herein was approved by the program of study committee, is solely responsible for the content of this dissertation. The Graduate College will ensure this dissertation is globally accessible and will not permit alterations after a degree is conferred. Iowa State University Ames, Iowa 2020 Copyright © Rohit Dureja, 2020. All rights reserved. ii DEDICATION To my family. iii TABLE OF CONTENTS LIST OF FIGURES . vi LIST OF TABLES . .x ABSTRACT . xi CHAPTER 1. INTRODUCTION . .1 1.1 Motivation . .3 1.2 Design Space . .5 1.3 Design-Space Exploration . .8 1.3.1 Taxonomy . 10 1.3.2 Formal Methods . 12 1.4 Application Domains . 15 1.4.1 Functional Verification . 15 1.4.2 Incremental Verification . 16 1.4.3 Equivalence Checking . 17 1.4.4 Product-line Verification . 18 1.5 Contributions . 19 1.5.1 Design-Space Reduction . 20 1.5.2 Incremental Verification . 20 1.5.3 Multi-Property Verification . 21 1.5.4 Parallel Orchestration . 22 CHAPTER 2. DESIGN-SPACE REDUCTION . 24 2.1 Introduction . 25 2.1.1 Related Work . 28 2.1.2 Contributions . 29 2.2 Preliminaries . 30 2.2.1 Temporal Logic Model Checking . 30 2.2.2 Design-Space Model Checking . 32 2.2.3 Temporal Logic Satisfiability . 35 2.2.4 Modeling a Design Space . 35 2.3 Discovering Design-Space Dependencies . 36 2.3.1 Individual Model Redundancies . 36 2.3.2 Identifying Property Dependencies . 43 2.4 Experimental Analysis . 47 2.4.1 Benchmarks . 48 2.4.2 Experiment Setup . 49 2.4.3 Experimental Results . 49 iv 2.5 Summary and Discussion . 53 CHAPTER 3. INCREMENTAL VERIFICATION . 56 3.1 Introduction . 58 3.1.1 Related Work . 59 3.1.2 Contributions . 61 3.2 Preliminaries . 61 3.2.1 Safety Verification . 63 3.2.2 Property-Directed Reachability . 64 3.2.3 Problem Formulation . 65 3.3 Algorithm for Incremental Verification . 66 3.3.1 Information Learning . 66 3.3.2 Information Repair and Reuse . 68 3.4 Organizing the Design Space . 80 3.4.1 Hashing Techniques and Similarity Measure . 81 3.4.2 Partial Model Ordering . 83 3.4.3 Property Grouping . 84 3.5 Experimental Analysis . 85 3.5.1 Benchmarks . 85 3.5.2 Experiment Setup . 86 3.5.3 Experimental Results . 87 3.6 Summary and Discussion . 94 CHAPTER 4. MULTI-PROPERTY VERIFICATION . 96 4.1 Introduction . 98 4.1.1 Related Work . 100 4.1.2 Contributions . 101 4.2 Preliminaries . 101 4.2.1 Cone-of-Influence Computation . 102 4.2.2 Property Affinity . 104 4.2.3 Group Center and Grouping Quality . 104 4.2.4 Localization Abstraction . 105 4.3 Structural Grouping of Properties . 105 4.3.1 Identical Cones of Influence . 107 4.3.2 Strongly Connected Components . 108 4.3.3 Hamming Distance . 111 4.4 Semantic Refinement of Property Groups . 118 4.4.1 Abstract Cone-of-Influence Computation . 118 4.4.2 Semantic Partitioning . 121 4.5 Experimental Analysis . 121 4.5.1 Benchmarks . 121 4.5.2 Experiment Setup . 122 4.5.3 Experimental Results . 122 4.6 Summary and Discussion . 129 v CHAPTER 5. PARALLEL ORCHESTRATION . 131 5.1 Introduction . 132 5.1.1 Related Work . 136 5.1.2 Contributions . 137 5.2 Preliminaries . 137 5.2.1 Affinity Analysis . 139 5.2.2 High-Affinity Property Grouping . 140 5.3 Grouping for Parallel Verification . 142 5.3.1 Property Grouping Algorithm . 142 5.3.2 Group Distribution Heuristics . 149 5.4 Localization for Redundancy Removal . 152 5.4.1 Fast-and-Lossy Localization . 155 5.4.2 Aggressive Localization . 156 5.4.3 Semantic Partitioning . 156 5.5 Experimental Analysis . 159 5.5.1 Benchmarks . 160 5.5.2 Localization Portfolio . 161 5.5.3 Experiment Setup . 163 5.5.4 Experimental Results . 164 5.6 Summary and Discussion . 167 CHAPTER 6. CONCLUSION AND DISCUSSION . 170 6.1 Contribution Review . 171 6.2 Future Work . 172 6.2.1 Design-Space Reduction . 172 6.2.2 Incremental Verification . 172 6.2.3 Multi-Property Verification . 173 6.2.4 Parallel Orchestration . 173 BIBLIOGRAPHY . 174 vi LIST OF FIGURES Figure 1.1 Typical model-checking workflow for verification of systems. .3 Figure 1.2 Design space for an air-traffic control system . .7 Figure 1.3 Model checking for large design spaces. ..