FMCAD 20081 A Theory of Mutations with Applications to Vacuity, Coverage, and Fault Tolerance Orna Kupferman 1 Wenchao Li 2 Sanjit A. Seshia 2 1 Hebrew.

Slides:



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

Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Delta Debugging and Model Checkers for fault localization
Hierarchical Cache Coherence Protocol Verification One Level at a Time through Assume Guarantee Xiaofang Chen, Yu Yang, Michael Delisi, Ganesh Gopalakrishnan.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by SRC Contract.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by Intel.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 4, 2011 Synchronous Circuits.
Sequential circuits The digital circuits considered thus far have been combinational, where the outputs are entirely dependent on the current inputs. Although.
Data Abstraction II SWE 619 Software Construction Last Modified, Spring 2009 Paul Ammann.
Xiushan Feng* ASIC Verification Nvidia Corporation Assertion-Based Design Partition 1 TM Jayanta Bhadra, Ross Patterson.
Nir Piterman Department of Computer Science TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA Bypassing Complexity.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Evidence-Based Verification Li Tan Computer Science Department Stony Brook Joint work with Rance Cleaveland Augest 2002.
Beyond Vacuity: Towards the Strongest Passing Formula Hana ChocklerArie Gurfinkel Ofer Strichman Technion - Israel Institute of Technology IBM Research.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Verification of Hierarchical Cache Coherence Protocols for Future Processors Student: Xiaofang Chen Advisor: Ganesh Gopalakrishnan.
CS294, YelickConsensus, p1 CS Consensus
The Complexity of Adding Failsafe Fault-tolerance Sandeep S. Kulkarni Ali Ebnenasir.
Functional Coverage Driven Test Generation for Validation of Pipelined Processors P. Mishra and N. Dutt Proceedings of the Design, Automation and Test.
1 Coverage Metrics in Formal Verification Hana Chockler Hebrew University.
Dominance Fault Collapsing of Combinational Circuits By Kalpesh Shetye & Kapil Gore ELEC 7250, Spring 2004.
System Design Research Laboratory Specification-based Testing with Linear Temporal Logic Li Tan Oleg Sokolsky Insup Lee University of Pennsylvania.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by SRC Contract.
Propositional Calculus Math Foundations of Computer Science.
Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers.
1 Hardware synthesis 2.0 Byron Cook and Satnam Singh with Ashutosh Gupta, Stephen Magill, Andrey Rybalchenko, Jiri Simsa, and Viktor Vafeiadis TexPoint.
Software testing techniques Software testing techniques Testing based on specifications Presentation on the seminar Kaunas University of Technology.
Automatic Abstraction Refinement for GSTE Yan Chen, Yujing He, and Fei Xie Portland State University Jin Yang Intel Nov 13, 2007.
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
Sparse Coding for Specification Mining and Error Localization Runtime Verification September 26, 2012 Wenchao Li, Sanjit A. Seshia University of California.
Kyle Mundt February 3,  Richard Lipton, 1971  A way of testing your tests  Alter your code in various ways  Check to see if tests fail on altered.
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
1 New Development Techniques: New Challenges for Verification and Validation Mats Heimdahl Critical Systems Research Group Department of Computer Science.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
1 Predicate Abstraction and Refinement for Verifying Hardware Designs Himanshu Jain Joint work with Daniel Kroening, Natasha Sharygina, Edmund M. Clarke.
Author: Alex Groce, Daniel Kroening, and Flavio Lerda Computer Science Department, Carnegie Mellon University Pittsburgh, PA Source: R. Alur and.
Testing. Today’s Topics Why Testing? Basic Definitions Kinds of Testing Test-driven Development Code Reviews (not testing) 1.
Properties Incompleteness Evaluation by Functional Verification IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL
Automated Debugging with Error Invariants TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA A A A AA A A Chanseok Oh.
IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL 2007 P ROPERTIES I NCOMPLETENESS E VALUATION BY F UNCTIONAL V ERIFICATION 1.
Technion Haifa Research Labs Israel Institute of Technology Underapproximation for Model-Checking Based on Random Cryptographic Constructions Arie Matsliah.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 5, 2012 Synchronous Circuits.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
Writing, Verifying and Exploiting Formal Specifications for Hardware Designs Chapter 3: Verifying a Specification Presenter: Scott Crosby.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
Counterexample-Guided Abstraction Refinement By Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith Presented by Yunho Kim Provable Software.
Phillip Stanley-Marbell, CMU
Software Development Cycle
Defending against malicious hardware
Propositional Calculus: Boolean Algebra and Simplification
Property Directed Reachability with Word-Level Abstraction
Lecture 5 Floyd-Hoare Style Verification
Mock Object Creation for Test Factoring
Good afternoon, everyone. I’m Haobin Ni from Cornell University
Formal Verification of Partial Good Self-Test Fencing Structures
Software Verification and Validation
Software Verification and Validation
A Coverage Analysis for Safety Property Lists
Software Verification and Validation
Software Development Cycle
The Iterative Design Recipe
ECE 352 Digital System Fundamentals
Mutation Testing Faults are introduced into the program by creating many versions of the program called mutants. Each mutant contains a single fault. Test.
Presentation transcript:

FMCAD A Theory of Mutations with Applications to Vacuity, Coverage, and Fault Tolerance Orna Kupferman 1 Wenchao Li 2 Sanjit A. Seshia 2 1 Hebrew University 2 UC Berkeley TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

FMCAD 20082

3 Bob This system is correct even under faults (e.g. flips in latches) Why? Convince me. It satisfies its specification under these faults. Doesn’t this mean the specification coverage is low? Adam So is my specification not good enough or is my system fault-tolerant? Need fault-tolerance! But also need to certify it!

FMCAD Problem  Current mutation-based metrics are inadequate to reason about specification coverage for fault-tolerant circuits in model checking.

FMCAD Preliminaries  Coverage Introduce ∆ to an implementation I and check I’ ² S.  Fault Tolerance I with fault f still satisfies S.  Vacuity Introduce ∆ to a specification S and check I ² S’. All three involve introducing mutations in the verification process!

FMCAD Contributions A theory of mutations:  formally ties together coverage and vacuity in model checking;  enables reasoning coverage for fault-tolerant circuits.

FMCAD Agenda  Related Work Coverage Vacuity  A Theory of Mutations Coverage and Vacuity are dual Aggressiveness amongst mutations  Applications  Conclusion

FMCAD Coverage  Is my specification complete?  Coverage metrics for model checking [HKHZ 99; KGG 99; CKV 01,03] FSM Coverage statepath

FMCAD Coverage  Functional Coverage in BMC [GKD 07]  Detect “forgotten cases” [Claessen 07]  Coverage for fault-tolerant systems [FPFRT 03, DBBDCMF 05] Single stuck-at fault model

FMCAD Vacuity  Is my specification satisfied trivially?  Vacuity detection [KV 99, 03; BBER 01; AFFGP 03; CG 04; BFGKM 05; BK 08] G (req → F grant)G (req → false) Replace a sub-formulae in the most challenging way. Trivially true in a system where req is never sent.

FMCAD Agenda  Related Work Coverage Vacuity  A Theory of Mutations Coverage and Vacuity are dual Aggressiveness amongst mutations  Applications  Conclusion

FMCAD Examples of Mutations  Can mutate inputs, outputs, or latches  Stuck-at  Restricting a signal to a value  Freeing (abstracting) a signal  X old new  Removes behaviors Adds behaviors Modifies behaviors

FMCAD A Theory of Mutations  Properties: Invertability: (C μ ) ν = C Monotonicity: I ² S → I μ ² S μ Duality  Interesting Mutations: Conditional stuck-at Conditional add/remove transitions Permuting events

FMCAD Duality I μ ² S ↔ I ² S ν,where ν and μ are dual mutations. low coveragevacuity

FMCAD Circuit with input = {z}, control signals = {x, y}, output = {x}, described by the state representation on the right. xy x z S simulates I’ and S’ simulates I ,1 I S’ remove behavior I’ add behavior , S

FMCAD Aggressiveness  Mutation  is more aggressive than if applying  makes it harder for the design to satisfy its specification.  I  ² S → I ² S or I ² S  → I ² S  ≥ imp  ≥ spec

FMCAD Some Aggressive Orders  Free(x) ≥ k-SEU(x)  Free(x) ≥ Stuck_at_0(x)  Free(x) ≥ Flip(x)  Delay_k+1 ≥ Delay_k  k-SEU(x) ≥ m-SEU(x) ≥ for k ≥ m  More interesting ones can be found in the paper.

FMCAD Coverage for Fault-tolerance  For a fault-tolerant system I and a set of mutations { j } such that I  j ² S for all 1≤j≤k.  The fault-tolerant system loosely satisfies S if there is a mutation  such that  j ≤ imp  for all 1≤j≤k; I  ² S.

FMCAD Agenda  Related Work Coverage Vacuity  A Theory of Mutations Coverage and Vacuity are dual Aggressiveness amongst mutations  Applications  Conclusion

FMCAD Applications  Useful vacuity information can be obtained for free from coverage checks.  Analyze coverage for fault-tolerant systems.  Improving specifications Catch bugs Strengthen environmental assumptions

FMCAD Vacuity from Coverage  S: G (sp[2..0] = 3’b110 → X (sp[2..0] = 3’b111)  In our experiment, applying the “Flip(x)” mutation to sp[0] still satisfies S.  S’: G (sp[2..0] = 3’b110 → X (sp[2..0] = 3’b110)  S & S’ → G ¬(sp[2..0] = 3’b110)

FMCAD Certifying Fault-Tolerance System behaviors Original low-coverage spec. System behaviors High-coverage spec. certifies system’s target resilience 1-SEU System behaviors 2-SEU

FMCAD Experiments VIS benchmarks, results obtained with Cadence SMV model checker

FMCAD Improving Specifications  Chip Multiprocessor Router [Peh 01]  However, the process still requires some user assistance. Simplied model S: G (ξ → X ¬(grant = 2’b11) S’: G (ξ → X (grant = 2’b10)

FMCAD Conclusion  A theory of mutations that Unifies coverage and vacuity Can be used to certify the correctness of fault-tolerant circuits  A new technique to tighten specifications  The ideas here can be applied to other verification techniques.

FMCAD Q & A Thank you!

FMCAD References