Verification & Validation By: Amir Masoud Gharehbaghi

Slides:



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

Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
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.
Metodi formali dello sviluppo software a.a.2013/2014 Prof.Anna Labella.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Model Checking I What are LTL and CTL?. and or dreq q0 dack q0bar.
CS6133 Software Specification and Verification
UPPAAL Introduction Chien-Liang Chen.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Model Checking Inputs: A design (in some HDL) and a property (in some temporal logic) Outputs: Decision about whether or not the property always holds.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
CS 267: Automated Verification Lecture 7: SMV Symbolic Model Checker, Partitioned Transition Systems, Counter-example Generation in Symbolic Model Checking.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: Property checking Property checking.
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:
CSEP590 – Model Checking and Software Verification University of Washington Department of Computer Science and Engineering Summer 2003.
© Katz, 2007CS Formal SpecificationsLecture - Temporal logic 1 Temporal Logic Formal Specifications CS Shmuel Katz The Technion.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
1 Carnegie Mellon UniversitySPINFlavio Lerda SPIN An explicit state model checker.
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.
Review of the automata-theoretic approach to model-checking.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
Copyright 2001, Matt Dwyer, John Hatcliff, and Radu Iosif. The syllabus and all lectures for this course are copyrighted materials and may not be used.
10/19/2015COSC , Lecture 171 Real-Time Systems, COSC , Lecture 17 Stefan Andrei.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Safety-Critical Systems 5 Testing and V&V T
Lecture 81 Optimizing CTL Model checking + Model checking TCTL CS 5270 Lecture 9.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Verifying Programs with BDDs Topics Representing Boolean functions with Binary Decision Diagrams Application to program verification class-bdd.ppt
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
On Partitioning and Symbolic Model Checking FM 2005 Subramanian Iyer, UT-Austin Debashis Sahoo, Stanford E. Allen Emerson, UT-Austin Jawahar Jain, Fujitsu.
Writing, Verifying and Exploiting Formal Specifications for Hardware Designs Chapter 3: Verifying a Specification Presenter: Scott Crosby.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
29/06/2016Verification Synchronous Languages Verification.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Presentation Title 2/4/2018 Software Verification using Predicate Abstraction and Iterative Refinement: Part Bug Catching: Automated Program Verification.
Basic concepts of Model Checking
Formal Methods: Model Checkers and Theorem Provers
CIS 842: Specification and Verification of Reactive Systems
Introduction to Formal Verification
CSCI1600: Embedded and Real Time Software
IS 2935: Developing Secure Systems
Automatic Verification of Industrial Designs
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Verifying Programs with BDDs Sept. 22, 2006
Program correctness Model-checking CTL
10 Design Verification and Test
Presentation transcript:

Verification & Validation By: Amir Masoud Gharehbaghi

2 V&V Techniques Outline Overview Selective History Theorem Proving Model Checking Hardware Verification Assertion-Based Verification Conclusions

3 V&V Techniques What is Verification (Validation) Functional Verification:  Task of establishing that a given design accurately implements the intended behavior

4 V&V Techniques Verification&Validation Techniques Simulation-based  Apply inputs to design, simulate (or run), and check the results Formal  Mathematically proof the correctness of system against the properties Semi-formal  Combine simulation and formal verification

5 V&V Techniques V&V Techniques Comparison Simulation-based Easy to use Fast  Low coverage Formal Perfect coverage  Not easy to use  Not applicable for large designs

6 V&V Techniques Using Formal Methods Writing formal specifications Proving properties about the specification  Theorem proving Deriving implementation from a given specification  Refinement Verifying properties for a given implementation  Property checking

7 V&V Techniques Selective History Early 1960’s  Suggestions: McCarthy and Dijkstra Late 1960’s and Early 1970’s  Proof systems: Floyd-Hoar, Boyer-Moore,… Late 1970’s  Temporal Logic for reactive systems (Pnueli, …) Early 1980’s  Model checking (Clarke, Emerson, …) Late 1980’s  Symbolic model checking using BDDs

8 V&V Techniques Selective History (cont.) 1990’s -> mostly hardware  Non-BDD based model checking  Satisfiability  Equivalence checking  Symbolic simulation & symbolic trajectory evaluation 2000’s  Assertion-based verification  Software model checking  Probabilistic verification  Automated theorem proving  Hybrid systems verification

9 V&V Techniques Theorem Proving Formally specify the system in a logic system Formally specify the properties of system Prove the correctness of properties of system in a proof system

10 V&V Techniques Theorem Provers & Logic Systems First-Order Logic  ACL2  Nqthm High-Order Logic  HOL  PVS

11 V&V Techniques Temporal Logic First-Order Logic + Temporal Operations Linear Temporal Logic (LTL) Computational Tree Logic (CTL)

12 V&V Techniques LTL Temporal Operations X: next F: finally G: globally U: until

13 V&V Techniques LTL Example p  X p alert  F halt G (alert  F halt ) G (alert  (alarm U halt ) )

14 V&V Techniques CTL Path Operations A: always E: there exists Combine with temporal operations of LTL:  AX, AF, AG, AU  EX, EF, EG, EU

15 V&V Techniques CTL Example AG p AF halt E ( alaram U halt ) AX alarm  EF close

16 V&V Techniques Properties Safety  Something never occurs. Liveness  Something will ultimately occur. Reachability  Some particular situation can be reached. Fairness  Something will (not) occur infinitely often. Properties are checked under certain conditions

17 V&V Techniques Model Checking Model is a state machine (or automata) Property is defined in a temporal logic CTL model checking  O(|Q| * |p|) LTL model checking  O (|Q| * 2^|p| )  |Q|: number of states  |p|: number of sub-formulas in property

18 V&V Techniques State Explosion Problem Both in LTL and CTL:  An automata is generated (explicitly) Number of states grow exponentially

19 V&V Techniques Symbolic Model Checking Symbolically (implicitly) represent states (and transition between states) Use Binary Decision Diagram (BDD) to represent state variables Uses CTL properties

20 V&V Techniques Reduced Order BDD (ROBDD) A directed acyclic graph (DAG) with two leaf nodes (1,0) Represent Boolean functions  Compact  Canonical  Efficient operations (linear or quadratic)  Simple to use

21 V&V Techniques Satisfiability (SAT) Checking Satisfiability Checking:  Check existence of a combination of values for a Boolean function that function is 1 Check that ~f is unsatisfiable

22 V&V Techniques Bounded Model Checking Search for counter example by unfolding system in time until a bound is reached. Use SAT checkers What about unbounded model checking?

23 V&V Techniques Symbolic Simulation Simulate with symbolic (not explicit) values.  Inputs: expressions  Outputs: expressions Originally based on BDD.

24 V&V Techniques Symbolic Trajectory Evaluation Check properties of A=>C form.  A: input variables’ values over time  C: expected output variables’ values over time Symbolically simulate with given input values (A). Check that expected results (C) to be compatible (subset of) simulated output results.

25 V&V Techniques Equivalence Checking Check equivalent behavior between two designs  Same level of abstraction  Different levels of abstraction Combinational Sequential

26 V&V Techniques Equivalence Checking Methods Combinational  Compare the canonical representation of two circuits. (may be not feasible)  Use SAT checker  … Sequential  Find equivalent FFs and Compare combinational circuits between them.  Construct the multiplicative state machine and check the equivalency of outputs in all states.  Bounded model checking

27 V&V Techniques Assertion-Based Verification Assertion: property Do property checking during simulation  Embed in design  Check in run-time

28 V&V Techniques Assertion Languages OVL: Open Verification library PSL: Property Specification Language  Formerly “Sugar” SystemVerilog …

29 V&V Techniques Coverage Percentage of design covered during simulation  Code Statement Path Condition …  Signal  …

30 V&V Techniques Conclusions Verification is a serious bottleneck for current designs  Up to 80 percent of design time Formal methods cannot be applied to real designs Simulation cannot guarantee correctness of designs Embedded system verification containing Hw/Sw requires new techniques