Property analysis and design understanding

Verification is a major issue in circuit and system design. Formal methods like bounded model checking (BMC) can guarantee a high quality of the verification. There are several techniques that can check if a set of formal properties forms a complete specification of a design. But, in contrast to simulation-based methods, like random testing, formal verification requires a detailed knowledge of the design implementation. Finding the correct set of properties is a tedious and time consuming process. In this paper, two techniques are presented that provide automatic support for writing properties in a quality-driven BMC flow. The first technique can be used to analyze properties in order to remove redundant assumptions and to separate different scenarios. The second technique - inverse property checking - automatically generates valid properties for a given expected behavior. The techniques are integrated with a coverage check for BMC. Using the presented techniques, the number of iterations to obtain full coverage can be reduced, saving time and effort.

[1]  Karem A. Sakallah,et al.  Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints , 2007, Journal of Automated Reasoning.

[2]  R. Drechsler,et al.  Design Understanding by Automatic Property Generation , 2004 .

[3]  Orna Kupferman,et al.  What Triggers a Behavior? , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[4]  Rolf Drechsler,et al.  Analyzing Functional Coverage in Bounded Model Checking , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[6]  Markus Wedler,et al.  Unbounded Protocol Compliance Verification Using Interval Property Checking With Invariants , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Ofer Strichman,et al.  Easier and More Informative Vacuity Checks , 2007, 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007).

[8]  Fabio Somenzi,et al.  Vacuum Cleaning CTL Formulae , 2002, CAV.

[9]  Sharad Malik,et al.  Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[10]  Rolf Drechsler,et al.  Automatic Generation of Complex Properties for Hardware Designs , 2008, 2008 Design, Automation and Test in Europe.

[11]  Rolf Drechsler,et al.  Property Analysis and Design Understanding in a Quality-Driven Bounded Model Checking Flow , 2008, 2008 Ninth International Workshop on Microprocessor Test and Verification.

[12]  Eugene Goldberg,et al.  Verification of proofs of unsatisfiability for CNF formulas , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[13]  C. Eisner,et al.  Efficient Detection of Vacuity in ACTL Formulaas , 1997, CAV.

[14]  Orna Kupferman,et al.  Vacuity Detection in Temporal Model Checking , 1999, CHARME.

[15]  William Chan Temporal-Locig Queries , 2000, CAV.

[16]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[17]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[18]  Marsha Chechik,et al.  Exploiting resolution proofs to speed up LTL vacuity detection for BMC , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[19]  Marsha Chechik,et al.  Temporal Logic Query Checking: A Tool for Model Exploration , 2003, IEEE Trans. Software Eng..

[20]  Orna Kupferman,et al.  What Triggers a Behavior , 2007 .

[21]  Sven Beyer,et al.  Complete Formal Verification of TriCore2 and Other Processors , 2007 .

[22]  Mike Bartley,et al.  A comparison of three verification techniques: directed testing, pseudo-random testing and property checking , 2002, DAC '02.

[23]  William Chan Temporal-logic queries , 2000 .

[24]  Koen Claessen A Coverage Analysis for Safety Property Lists , 2007, Formal Methods in Computer Aided Design (FMCAD'07).