Bounded Model Checking EECS 290A Sequential Logic Synthesis and Verification.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
SAT-based Bounded and Unbounded Model Checking Edmund M. Clarke Carnegie Mellon University Joint research with C. Bartzis, A. Biere, P. Chauhan, A. Cimatti,
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
Aaron Bradley University of Colorado, Boulder
SAT-based verification: underlying methods Mary Sheeran Chalmers University of Technology and Prover Technology AB.
© Anvesh Komuravelli IC3/PDR Overview of IC3/PDR Anvesh Komuravelli Carnegie Mellon University.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
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:
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM (HRL)
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Equivalence Checking Sean Weaver.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
4/21/2005JHJ1 Structure-dependent Sequential Equivalence Checking EE290A UC Berkeley Spring 2005.
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM-HRL.
1 Completeness and Complexity of Bounded Model Checking.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
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.
SAT-based Model Checking Yakir Vizel Computer Science Department, Technion, Israel Based on slides from K.L. McMillan, A.R. Bradley and Yakir Vizel.
Enhancing and Integrating Model Checking Engines Robert Brayton Alan Mishchenko UC Berkeley June 15, 2009.
Benefits of Bounded Model Checking at an Industrial Setting F.Copty, L. Fix, R.Fraer, E.Giunchiglia*, G. Kamhi, A.Tacchella*, M.Y.Vardi** Intel Corp.,
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
ABC: A System for Sequential Synthesis and Verification BVSRC Berkeley Verification and Synthesis Research Center Robert Brayton, Niklas Een, Alan Mishchenko,
Proving Non-Termination Gupta, Henzinger, Majumdar, Rybalchenko, Ru-Gang Xu presentation by erkan.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Cut-Based Inductive Invariant Computation Michael Case 1,2 Alan Mishchenko 1 Robert Brayton 1 Robert Brayton 1 1 UC Berkeley 2 IBM Systems and Technology.
Boolean Satisfiability Present and Future
Verification & Validation By: Amir Masoud Gharehbaghi
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
PDR: Property Directed Reachability AKA ic3: SAT-Based Model Checking Without Unrolling Aaron Bradley University of Colorado, Boulder University of Colorado,
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
1 Alan Mishchenko Research Update June-September 2008.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Enhancing Model Checking Engines for Multi-Output Problem Solving Alan Mishchenko Robert Brayton Berkeley Verification and Synthesis Research Center Department.
Variable-Time-Frame Gate-Level Abstraction Alan Mishchenko Niklas Een Robert Brayton Alan Mishchenko Niklas Een Robert Brayton UC Berkeley UC Berkeley.
SAT for Software Model Checking Introduction to SAT-problem for newbie
Introduction to Formal Verification
Induction in CEGAR for Detecting Counterexamples
SS 2017 Software Verification Bounded Model Checking, Outlook
Bounded Model Checking
Synthesis for Verification
Enhancing PDR/IC3 with Localization Abstraction
New Directions in the Development of ABC
Applying Logic Synthesis for Speeding Up SAT
Integrating an AIG Package, Simulator, and SAT Solver
A Boolean Paradigm in Multi-Valued Logic Synthesis
Property Directed Reachability with Word-Level Abstraction
Introduction to Formal Verification
SAT-Based Area Recovery in Technology Mapping
Alan Mishchenko University of California, Berkeley
Canonical Computation without Canonical Data Structure
ECE 667 Synthesis and Verification of Digital Circuits
Canonical Computation Without Canonical Data Structure
Scalable and Scalably-Verifiable Sequential Synthesis
Improvements to Combinational Equivalence Checking
Integrating an AIG Package, Simulator, and SAT Solver
Canonical Computation without Canonical Data Structure
Alan Mishchenko UC Berkeley
Alan Mishchenko UC Berkeley
Logic Synthesis: Past and Future
Canonical Computation without Canonical Data Structure
SAT-based Methods: Logic Synthesis and Technology Mapping
Presentation transcript:

Bounded Model Checking EECS 290A Sequential Logic Synthesis and Verification

Overview  Introduction  Computational methods  Recent improvements

Philosophy of Model Checking  It is impossible to know whether the specification of a system is correct or complete How can we know whether what we wrote fully captures what we meant? (the problem is nobody knows what we meant :) How can we know whether what we wrote fully captures what we meant? (the problem is nobody knows what we meant :)  It is only possible to check whether the specification satisfies certain properties We need to provide properties, which describe what we meant We need to provide properties, which describe what we meant  Therefore, model checking looks for some bugs (counter-examples to the properties), rather than to prove that the system is “correct” in general Equivalence checking can prove correctness-in-general but we need to have the “golden model” (a trustworthy specification) Equivalence checking can prove correctness-in-general but we need to have the “golden model” (a trustworthy specification)

Brief History of Model Checking  Model checking The term was coined in 1981 by Clarke and Emerson The term was coined in 1981 by Clarke and Emerson The algorithm explicitly enumerated reachable states (limited to a few million states) The algorithm explicitly enumerated reachable states (limited to a few million states)  Symbolic model checking The symbolic formulation was introduced by introduced around 1990 (McMillan, Clarke, Burch, Coudert et al) The symbolic formulation was introduced by introduced around 1990 (McMillan, Clarke, Burch, Coudert et al) Motivated by the use of discovery of BDDs in 1986 Motivated by the use of discovery of BDDs in 1986 It was a break-through to the wide usage of model checking It was a break-through to the wide usage of model checking  Bounded model checking (BMC) Proposed by Biere at al in 1999 Proposed by Biere at al in 1999 The basic idea is to search for counter-examples of length k The basic idea is to search for counter-examples of length k Led to even wider industrial use Led to even wider industrial use

BMC in a Nutshell  I is initial state(s); T(s i, s i+1 ) is transition relation; P is property  Base n = I 0  T 0  …  T n-1  P n  Uniqueness constraints: Unique n =  0<i<j  n (s i  s j )  The problem is symmetric w.r.t. forward and backward traversal I P

Model Checking as Search  Model checking is a search problem find an assignment of input variables at each time-frame, which leads to the violation of the property after k frames find an assignment of input variables at each time-frame, which leads to the violation of the property after k frames  If we finished exploring the search space and did not find the violation, the property holds for k frames  If we proved that the property holds for any k, we proved the unbounded case (the subject of future lectures)

BDDs vs. SAT  BDD package  Builds the canonical representation of the problem up to a point  Tends to run out of memory  SAT solver  Explores one branch at a time  Tends to run out of time  Both exhaustively explore the search space

Search Problem

Different Ways of Exploring Search Space BDD approachSAT approach   

Other Representations  Truth table Implemented using bit strings Implemented using bit strings Convenient for functions up to 5 variables Convenient for functions up to 5 variables Useful for functions up to 8 variables Useful for functions up to 8 variables  Sums-of-products Cubes are represented in positional notation Cubes are represented in positional notation Implemented using bit strings Implemented using bit strings The main data structure to represent SOPs in Espresso and SIS The main data structure to represent SOPs in Espresso and SIS  Common features Are explicit in nature Are explicit in nature Exploit bit parallelism Exploit bit parallelism Traditionally used in many applications Traditionally used in many applications

Use of Functional Representations Historical Perspective Problem Size Time Period AIG Truth table +SOP +BDD +CNF

Recent Improvements to BMC  Combining SAT and BDDs Aarti Gupta, Malay Ganai, Chao Wang, Zijiang Yang, Pranav Ashar, “Learning from BDDs in SAT-based bounded model checking”, DAC Aarti Gupta, Malay Ganai, Chao Wang, Zijiang Yang, Pranav Ashar, “Learning from BDDs in SAT-based bounded model checking”, DAC  Efficient framework for incremental solving Niklas Een, Niklas Sorensson, “Temporal induction by incremental SAT solving”, Intl. Workshop on BMC Niklas Een, Niklas Sorensson, “Temporal induction by incremental SAT solving”, Intl. Workshop on BMC  Improvements to variable ordering and the use of learned clauses Liang Zhang, Mukul Prasad, Michael Hsiao, "Incremental deductive and inductive reasoning for SAT-based bounded model checking“, ICCAD 2004 Liang Zhang, Mukul Prasad, Michael Hsiao, "Incremental deductive and inductive reasoning for SAT-based bounded model checking“, ICCAD 2004  Preprocessing of the transition relation Andreas Kuehlmann, “Dynamic transition relation simplication”, ICCAD Andreas Kuehlmann, “Dynamic transition relation simplication”, ICCAD 2004.