Abstraction and Refinement for Large Scale Model Checking

Slides:



Advertisements
Similar presentations
Exploiting SAT solvers in unbounded model checking
Advertisements

Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs.
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
A Survey of Runtime Verification Jonathan Amir 2004.
Introduction to Formal Methods for SW and HW Development 09: SAT Based Abstraction/Refinement in Model-Checking Roberto Sebastiani Based on work and slides.
Greta YorshEran YahavMartin Vechev IBM Research. { ……………… …… …………………. ……………………. ………………………… } P1() Challenge: Correct and Efficient Synchronization { ……………………………
Greta YorshEran YahavMartin Vechev IBM Research. { ……………… …… …………………. ……………………. ………………………… } T1() Challenge: Correct and Efficient Synchronization { ……………………………
SAT Based Abstraction/Refinement in Model-Checking Based on work by E. Clarke, A. Gupta, J. Kukula, O. Strichman (CAV’02)
1 Model checking. 2 And now... the system How do we model a reactive system with an automaton ? It is convenient to model systems with Transition systems.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
Backtrack Algorithm for Listing Spanning Trees R. C. Read and R. E. Tarjan (1975) Presented by Levit Vadim.
Hybrid System Verification Synchronous Workshop 2003 A New Verification Algorithm for Planar Differential Inclusions Gordon Pace University of Malta December.
Timed Automata.
Aaron Bradley University of Colorado, Boulder
Adaptive Control of a Multi-Bias S-Parameter Measurement System Dr Cornell van Niekerk Microwave Components Group University of Stellebosch South Africa.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Compatibility between shared variable valuations in timed automaton network model- checking Zhao Jianhua, Zhou Xiuyi, Li Xuandong, Zheng Guoliang Presented.
Xiushan Feng* ASIC Verification Nvidia Corporation Assertion-Based Design Partition 1 TM Jayanta Bhadra, Ross Patterson.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
Using Statically Computed Invariants Inside the Predicate Abstraction and Refinement Loop Himanshu Jain Franjo Ivančić Aarti Gupta Ilya Shlyakhter Chao.
Thread-modular Abstraction Refinement Tom Henzinger Ranjit Jhala Rupak Majumdar [UC Berkeley] Shaz Qadeer [Microsoft Research]
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
Computing Over­Approximations with Bounded Model Checking Daniel Kroening ETH Zürich.
Path Slicing Presentation by Massimiliano Menarini Ranjit Jhala and Rupak Majumdar, “Path Slicing” PLDI 05 (June 2005, Chicago, Illinois)
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
More Realistic Power Grid Verification Based on Hierarchical Current and Power constraints 2 Chung-Kuan Cheng, 2 Peng Du, 2 Andrew B. Kahng, 1 Grantham.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
7/13/2003BMC A SAT-Based Approach to Abstraction Refinement in Model Checking Bing Li, Chao Wang and Fabio Somenzi University of Colorado at Boulder.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Race Checking by Context Inference Tom Henzinger Ranjit Jhala Rupak Majumdar UC Berkeley.
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Lazy Abstraction Jinseong Jeon ARCS, KAIST CS750b, KAIST2/26 References Lazy Abstraction –Thomas A. Henzinger et al., POPL ’02 Software verification.
General Techniques for Symmetry Reduction in Model Checking Alastair Donaldson Alice Miller Department of Computing Science University of Glasgow.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Verification of Synchronization in SpecC Description with the Use of Difference Decision Diagrams Thanyapat Sakunkonchak Masahiro Fujita Department of.
Parallel and Distributed Systems Laboratory Paradise: A Toolkit for Building Reliable Concurrent Systems Trace Verification for Parallel Systems Vijay.
Information-Theoretic Co- Clustering Inderjit S. Dhillon et al. University of Texas, Austin presented by Xuanhui Wang.
1 Distributed BDD-based Model Checking Orna Grumberg Technion, Israel Joint work with Tamir Heyman, Nili Ifergan, and Assaf Schuster CAV00, FMCAD00, CAV01,
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
/ PSWLAB Thread Modular Model Checking by Cormac Flanagan and Shaz Qadeer (published in Spin’03) Hong,Shin Thread Modular Model.
Symbolic Model Checking of Software Nishant Sinha with Edmund Clarke, Flavio Lerda, Michael Theobald Carnegie Mellon University.
Complexity Relief Techniques for Model Checking METU, Aug SOFTWARE VERIFICATION WORKSHOP Hüsnü Yenigün Sabanci University Informatics Institute,
Counterexample-Guided Abstraction Refinement By Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith Presented by Yunho Kim Provable Software.
General Discussion of “Properties” The Pumping Lemma Membership, Emptiness, Etc.
Hybrid BDD and All-SAT Method for Model Checking
LPV: a new technique, based on linear programming, to formally prove or disprove safety properties J-L Lambert, valiosys.
Updating SF-Tree Speaker: Ho Wai Shing.
The Analysis of Cyclic Circuits with Boolean Satisfiability
SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II
Lecture 25 More Synchronized Data and Producer/Consumer Relationship
Abstraction Transformation & Heuristics
Enhancing PDR/IC3 with Localization Abstraction
Planar Graphs & Euler’s Formula
Edward Smith University of Oxford
Property Directed Reachability with Word-Level Abstraction
Objective of This Course
Over-Approximating Boolean Programs with Unbounded Thread Creation
Automated Extraction of Inductive Invariants to Aid Model Checking
Scalability in Model Checking
Improved Design Debugging using Maximum Satisfiability
Predicate Abstraction
Fast Min-Register Retiming Through Binary Max-Flow
SAT Based Abstraction/Refinement in Model-Checking
Faster Extraction of High-Level Minimal Unsatisfiable Cores
CS137: Electronic Design Automation
Presentation transcript:

Abstraction and Refinement for Large Scale Model Checking Chao Wang Department of Electrical and Computer Engineering, University of Colorado at Boulder, Email: Wangc@Colorado.EDU Fine-Grain Abstraction Conventional methods: Latch as an “abstraction atom”. Once a latch is in the abstract model, all the gates in its fan in logic cone are also included. However, not all these gates might be necessary. We partition the circuit into cluster of gates and treat each cluster as an “atom”. Only necessary logics/gates are added to the abstract model; abstraction granularity can be adjusted by controlling the cluster size. Introduction A big gap exists between the capacity of the model checkers and the size of the real-world designs. Abstraction and refinement is a technique to bridge this gap. The goal of this thesis is to seek good algorithms based on abstraction and refinement that enable model checking techniques on the industrial-scale designs. Efficient Computation in Abs-Ref In the iterative process, verification result from previous step can be carried to the next To reduce the search space (Zoom-In) To speed up the verification (Strength-Reduction) To decompose the search space (Disjunctively) Global Guidance for Abs-Ref Local guidance: single ACE (abstract counter-example). Might lead to biased / sub-optimal refinement result (to the wrong direction). We use SORs to capture all the shortest ACEs. An example of SORs: Property (AG p) means “p holds on all the reachable states”. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (1) Current abstraction (2) SORs (synchronous onion rings) !p SORs are the intersection of the forward and backward reachable onion rings. SORs are used for both concretization test and guidance for refinement. As the refinement goes on, the number of abstract edges in the SORs decreases monotonically. Experimental Results Fine-Grain Abstraction: Observe cases where 99% of the fan in cone gates are not necessary for the final proof. (Unnecessarily Including them in the abstract model made even the abstract model intractable.) (2)Global guidance (New): More efficient than local guidance P --- a safety property of the form (AG p); M+ --- an over-approximated abstraction of M. ACEs --- (Abstract Counter Examples) may or may not be CCE. CCE --- (Concrete Counter Example) is a real error trace on M. Model-Check( ) --- symbolic model checking on M+ Concretize-ACEs( ) --- re-construct the ACEs on M Compute-Refinement( ) --- refine the abstract model Abstraction/Refinement Iterative process to verify “M  P”. (i.e., property P holds on model M.) Abstraction-Refinement(M,P) { 1 M+ = Initial-Abstraction(M,P) 2 while (1) { 3 ACEs = Model-Check(M+,P) 4 if (ACEs is empty) return PASS 5 CCE = Concretize-ACEs(M,ACEs) 6 if (CCE not empty) return FAIL 7 M+ = Compute-Refinement ( ) } } (3)Carrying information to the next: Speed up the verification Game Theoretic Refinement We pick refinement variables (latches / gates) by playing a two-player reachability game on M+. Player1 tries to force M+ through the SORs to !p states; Player2 tries to avoid that. They play by controlling invisible variables – variables abstracted away from M+. Both edges are spurious; f and g are invisible. Should refine with “g” instead of “f” ! Why? Because if player2 control g ( assign g=1), Play1 can not go through these edges. 3 4 1 Add g to abs. model  Play2 control g Add f to abs. model  Play2 control f What “Good” Means? Higher abstraction efficiency! Maximum efficiency depends on the locality of the property P on M. The job of Abs-Ref is to exploit this locality as much as possible. A good algorithm can efficiently come close to or even reach the maximum abstraction efficiency. Conclusion With the help of the proposed research (fine-grain abstraction, refinement under global guidance, and efficient computation in Abs-Ref), model checking techniques can be used on otherwise intractable industrial-scale circuits (e.g. with 1000-10000 latches).