COEN6551: Formal Hardware Verification

Size: px
Start display at page:

Download "COEN6551: Formal Hardware Verification"

Transcription

1 COEN6551: Formal Hardware Verification Prof. Sofiène Tahar Hardware Verification Group Electrical and Computer Engineering Concordia University Montréal, Quebec CANADA

2 Accident at Carbide plant, India Causes: Corroding non-stainless steel pipes, Improper maintenance Loss: 3,787 deaths, over 500,000 people exposed Cost: $470 million, December 2-3, 1984 E. Broughton. The Bhopal Disaster and its Aftermath: A Review. Environmental Health, 4(6):1-6, May S. Tahar Formal Verification Probabilistic Analysis 2

3 Train Derailment in Germany Main cause of failure: wheel design, a single fatigue crack in one of the wheels Loss: 101 dead, 88 injured Cost: $30 Million, June 3,1998 Investigative Documentary on National Geographic Channel. Derailment at Eschede (High Speed Train Wreck), Seconds From Disaster., S. Tahar Formal Verification Probabilistic Analysis 3

4 Space Shuttles Challenger and Columbia Challenger (January 28, 1986) Columbia (February 1, 2003) Challenger: Cause: Failure of the pressure seal in the aft field joint of the right Solid Rocket Booste Design was unacceptably sensitive to a number of factors Columbia: During re-entry, damaged tiles in the heat shield allowed the hot gases to penetrate and destroy the internal wing structure, rapidly causing the in-flight breakup of the veh Loss: Entire crew in both accidents Rogers Commission report, Report of the Presidential Commission on the Space Shuttle Challenger Accident, Volume 1, chapter 4, page S. Tahar Formal Verification Probabilistic Analysis 4

5 and the list goes on and on S. Tahar System-on-Chip Formal Probabilistic Verification Analysis 5

6 6 Design Errors Floatingpoint division bug Patriot Missile Failure, a classical case of rounding error Floatingpoint to Integer conversion S. Tahar Formal Verification Probabilistic Analysis

7 Design Challenges 7 S. Tahar Formal Verification Probabilistic Analysis

8 What is Verification? 8 S. Tahar Formal Verification Probabilistic Analysis

9 Verification Technology 9 S. Tahar Formal Verification Probabilistic Analysis

10 Verification by Simulation Most widely used system analysis approach Construct a computer based model of the system Analyze the behavior of the system model under a number of test cases to deduce properties of interest Easy to use May generate inaccurate results Practically impossible to test for all possible cases S. Tahar Formal Verification Probabilistic Analysis 10

11 Simulation A Practical Example Question: How long does it take to verify a 64-bit Floating Point Division Unit Answer: There are (2 64 x 2 64 ): test cases At 1 test/ s, it will take years!!! S. Tahar Formal Verification Probabilistic Analysis 11

12 Simulation Another Practical Example Question: How long does it take to verify a 256-bit RAM Memory Unit Answer: There are = bits to test At 1 test/ps and using all matters in our galaxy to build computers of the size of a single electron, it will take years to verify 0.05%!!! S. Tahar Formal Verification Probabilistic Analysis 12

13 Verification Gap 13 The situation is worsening as technology evolves S. Tahar Formal Verification Probabilistic Analysis

14 Verification by Formal Methods Construct a computer based mathematical model of the system and its specification (properties) Use mathematical reasoning to check functional properties of interest Accurate results Consideration of all cases is implicit Sometimes is difficult (limited) and time consuming S. Tahar Formal Verification Probabilistic Analysis 14

15 Simulation Example Check if y>x for the given system (x is a natural number) x ( x 1 ) 2 y Test vectors (x) System output (y) y>x 1 4 True 2 9 True 5 36 True True True True ?????? S. Tahar Formal Verification Probabilistic Analysis 15

16 Formal Methods Example Check if y>x for the given system (x is a natural number) x ( x 1 ) 2 y 1 y>x Problem statement 2 (x+1) 2 >x Implementation 3 (x+1).(x+1)>x Definition of Square 4 (x+1).x+(x+1).1>x Distributivity 5 x.x+1.x+x.1+1.1>x Distributivity 6 x.x+x+x+1>x Multiplicative Identity 7 x.x+x+1+x>x Additive Commutivity 8 x.x+x+1>0 Addition Cancellation 9 True Natural numbers > 0 S. Tahar Formal Verification Probabilistic Analysis 16

17 Most Widely used Formal Methods Equivalence Checking Model Checking Theorem proving S. Tahar System-on-Chip Formal Probabilistic Verification Analysis 17

18 Equivalence Checking System 1 System 2 Logic Formula 1 Logic Formula 2 Equivalence Checker True, if both formulas equivalent Counterexample, otherwise Both systems modeled as a Logic Formulas Formulas specified in Propositional Logic Allows automatic proof of equivalence (decidable and complete) Applicable on Combinational Systems (Circuits) Sequential (FSM) equivalence checking very costly S. Tahar System-on-Chip Formal Probabilistic Verification Analysis 18

19 Equivalence Checking Advantages Automatic (Push button type analysis tools) No proofs involved Diagnostic counter examples Disadvantages Limited expressiveness Combinational Circuits Equivalence Checking Tools VIS (Verification Interacting with Synthesis) - U. of California, Berkeley MDG (Multiway Decision Graphs) - U. de Montreal Conformal, Formality, etc S. Tahar System-on-Chip Formal Probabilistic Verification Analysis 19

20 Model Checking System is modeled as a State Transition Graph Properties are specified in Temporal Logic Allows the description of time-varying behaviour of systems Exhaustive verification by searching the state space of the system model to determine if the property holds S. Tahar Formal Verification Probabilistic Analysis 20

21 Model Checking Advantages Automatic (Push button type analysis tools) No proofs involved Diagnostic counter examples Disadvantages Limited expressiveness State-space explosion problem Model Checking Tools SMV (Symbolic Model Verifier) - Carnegie Mellon U. VIS (Verification Interacting with Synthesis) - U. of California, Berkeley SPIN, SLAM, PRISM, etc S. Tahar Formal Verification Probabilistic Analysis 21

22 Theorem Proving System is modeled as a function in some appropriate logic Properties are modeled as theorems in the same logic These theorems are interactively verified based on mathematical reasoning in a computer based proof system (Theorem Prover) S. Tahar Formal Verification Probabilistic Analysis 22

23 Theorem Prover A theorem prover consists of A notation (syntax) to express logic a small set of fundamental axioms (facts) A Boolean variable can be True or False: a.(a = T) (a =F) a small set of inference (deduction) rules Equality is transitive: a b c. (a = b) (b = c) (a = c) Soundness is assured as every new theorem must be created from The basic axioms and primitive inference rules Any other already proved theorems or inference rules Theory (collection of verified theorems in a file) Facilitate the reusability of pre-verified results S. Tahar Formal Verification Probabilistic Analysis 23

24 Theorem Proving Advantages High expressiveness Can be essentially used to analyze any system that can be expressed mathematically Less risk of mistakes (human errors) Some parts of the proofs can be automated Disadvantages Detailed and explicit human guidance required The state-of-the-art is limited Theorem Proving Tools Boyer-Moore (First-order Logic) U. of Texas, Austin PVS (Higher-order Logic) Stanford Research Institute HOL (Higher-order-logic) U. of Cambridge, UK S. Tahar Formal Verification Probabilistic Analysis 24

25 Some Formal Methods Myths Formal methods can only be used by mathematicians They are primarily based on mathematical concepts that is usually transparent to the user The reasoning process is itself prone to errors, so why bother? We opt to reduce design bugs not eliminate them Using formal methods tends to slow the design process The early detection of design bugs are allows us to speed up the overall design process S. Tahar Formal Verification Probabilistic Analysis 25

26 Formal Methods Applications Formal methods are widely used for the functional verification of many applications Microprocessors Software Conformance Cache Coherence Protocols Telecommunication Protocols Security Protocols Transportation S. Tahar Formal Verification Probabilistic Analysis 26

27 Cost of Verification 27 Verification accounts for 60-70% of project cost (human, computing and time) Increasing VLSI technology and design complexity (1.7 billion transistors on chip) Traditional simulation limited to a tiny percentage of test cases Situation is most serious for safety critical applications Many research groups and companies are using formal verification as complement simulation S. Tahar Formal Verification Probabilistic Analysis

28 Free Ad! Anyone interested for more information on Formal Verification? Visit S. Tahar Formal Verification Probabilistic Analysis 38

An Informal introduction to Formal Verification

An Informal introduction to Formal Verification An Informal introduction to Formal Verification Osman Hasan National University of Sciences and Technology (NUST), Islamabad, Pakistan O. Hasan Formal Verification 2 Agenda q Formal Verification Methods,

More information

Performance Analysis of ARQ Protocols using a Theorem Prover

Performance Analysis of ARQ Protocols using a Theorem Prover Performance Analysis of ARQ Protocols using a Theorem Prover Osman Hasan Sofiene Tahar Hardware Verification Group Concordia University Montreal, Canada ISPASS 2008 Objectives n Probabilistic Theorem Proving

More information

Formal Verification of Mathematical Algorithms

Formal Verification of Mathematical Algorithms Formal Verification of Mathematical Algorithms 1 Formal Verification of Mathematical Algorithms John Harrison Intel Corporation The cost of bugs Formal verification Levels of verification HOL Light Formalizing

More information

Reliability Block Diagrams based Analysis: A Survey

Reliability Block Diagrams based Analysis: A Survey Reliability Block Diagrams based Analysis: A Survey O. Hasan 1, W. Ahmed 1 S. Tahar 2 and M.S. Hamdi 3 1 National University of Sciences and Technology, Islamabad Pakistan 2 Concordia University, Montreal,

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

02 Propositional Logic

02 Propositional Logic SE 2F03 Fall 2005 02 Propositional Logic Instructor: W. M. Farmer Revised: 25 September 2005 1 What is Propositional Logic? Propositional logic is the study of the truth or falsehood of propositions or

More information

Intel s Successes with Formal Methods

Intel s Successes with Formal Methods 0 Intel s Successes with Formal Methods John Harrison Intel Corporation Software, Science & Society World Forestry Center, Portland OR December 5, 2003 1 Bugs in computer systems Most modern computer systems

More information

Theorem Proving for Verification

Theorem Proving for Verification 0 Theorem Proving for Verification John Harrison Intel Corporation CAV 2008 Princeton 9th July 2008 1 Formal verification Formal verification: mathematically prove the correctness of a design with respect

More information

- Introduction to propositional, predicate and higher order logics

- Introduction to propositional, predicate and higher order logics Lecture 1: Deductive Verification of Reactive Systems - Introduction to propositional, predicate and higher order logics - Deductive Invariance Proofs Cristina Seceleanu MRTC, MdH E-mail: cristina.seceleanu@mdh.se

More information

Lecture 2: Symbolic Model Checking With SAT

Lecture 2: Symbolic Model Checking With SAT Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.

More information

Digital Systems. Validation, verification. R. Pacalet January 4, 2018

Digital Systems. Validation, verification. R. Pacalet January 4, 2018 Digital Systems Validation, verification R. Pacalet January 4, 2018 2/98 Simulation Extra design tasks Reference model Simulation environment A simulation cannot be exhaustive Can discover a bug Cannot

More information

Model Checking. Boris Feigin March 9, University College London

Model Checking. Boris Feigin March 9, University College London b.feigin@cs.ucl.ac.uk University College London March 9, 2005 Outline 1 2 Techniques Symbolic 3 Software 4 Vs. Deductive Verification Summary Further Reading In a nutshell... Model checking is a collection

More information

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1 using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models

More information

Model Checking: An Introduction

Model Checking: An Introduction Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations

More information

Formal Verification of Analog and Mixed Signal Designs in Mathematica

Formal Verification of Analog and Mixed Signal Designs in Mathematica Formal Verification of Analog and Mixed Signal Designs in Mathematica Mohamed H. Zaki, Ghiath Al-Sammane, and Sofiène Tahar Dept. of Electrical & Computer Engineering, Concordia University 1455 de Maisonneuve

More information

Formal Reasoning about Systems Biology using Theorem Proving

Formal Reasoning about Systems Biology using Theorem Proving Formal Reasoning about Systems Biology using Theorem Proving Adnan Rashid*, Osman Hasan*, Umair Siddique** and Sofiène Tahar** *School of Electrical Engineering and Computer Science (SEECS), National University

More information

Computational Logic and the Quest for Greater Automation

Computational Logic and the Quest for Greater Automation Computational Logic and the Quest for Greater Automation Lawrence C Paulson, Distinguished Affiliated Professor for Logic in Informatics Technische Universität München (and Computer Laboratory, University

More information

Computer Aided Verification

Computer Aided Verification Computer Aided Verification For Designing correct systems Hao Zheng zheng@cse.usf.edu Dept. of Computer Science & Eng. University South Florida Outlines Basic concepts of verification Challenges to verification

More information

2. Associative Law: A binary operator * on a set S is said to be associated whenever (A*B)*C = A*(B*C) for all A,B,C S.

2. Associative Law: A binary operator * on a set S is said to be associated whenever (A*B)*C = A*(B*C) for all A,B,C S. BOOLEAN ALGEBRA 2.1 Introduction Binary logic deals with variables that have two discrete values: 1 for TRUE and 0 for FALSE. A simple switching circuit containing active elements such as a diode and transistor

More information

A Quantum Computing Approach to the Verification and Validation of Complex Cyber-Physical Systems

A Quantum Computing Approach to the Verification and Validation of Complex Cyber-Physical Systems A Quantum Computing Approach to the Verification and Validation of Complex Cyber-Physical Systems Achieving Quality and Cost Control in the Development of Enormous Systems Safe and Secure Systems and Software

More information

Ranking Verification Counterexamples: An Invariant guided approach

Ranking Verification Counterexamples: An Invariant guided approach Ranking Verification Counterexamples: An Invariant guided approach Ansuman Banerjee Indian Statistical Institute Joint work with Pallab Dasgupta, Srobona Mitra and Harish Kumar Complex Systems Everywhere

More information

Formal Reliability Analysis of Combinational Circuits using Theorem Proving

Formal Reliability Analysis of Combinational Circuits using Theorem Proving Formal Reliability Analysis of Combinational Circuits using Theorem Proving Osman Hasan a,, Jigar Patel b, Sofiène Tahar b a School of Electrical Engineering and Computer Science National University of

More information

A Brief Introduction to Model Checking

A Brief Introduction to Model Checking A Brief Introduction to Model Checking Jan. 18, LIX Page 1 Model Checking A technique for verifying finite state concurrent systems; a benefit on this restriction: largely automatic; a problem to fight:

More information

Formalization of Normal Random Variables

Formalization of Normal Random Variables Formalization of Normal Random Variables M. Qasim, O. Hasan, M. Elleuch, S. Tahar Hardware Verification Group ECE Department, Concordia University, Montreal, Canada CICM 16 July 28, 2016 2 Outline n Introduction

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits

More information

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking Double Header Model Checking #1 Two Lectures Model Checking SoftwareModel Checking SLAM and BLAST Flying Boxes It is traditional to describe this stuff (especially SLAM and BLAST) with high-gloss animation

More information

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014 Introduction Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2013/2014 P. Cabalar ( Department Introduction of Computer Science University of Corunna, SPAIN2013/2014

More information

Predicate Abstraction in Protocol Verification

Predicate Abstraction in Protocol Verification Predicate Abstraction in Protocol Verification Edgar Pek, Nikola Bogunović Faculty of Electrical Engineering and Computing Zagreb, Croatia E-mail: {edgar.pek, nikola.bogunovic}@fer.hr Abstract This paper

More information

State-Space Exploration. Stavros Tripakis University of California, Berkeley

State-Space Exploration. Stavros Tripakis University of California, Berkeley EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2014 State-Space Exploration Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE

More information

Formal Verification of Systems-on-Chip

Formal Verification of Systems-on-Chip Formal Verification of Systems-on-Chip Wolfgang Kunz Department of Electrical & Computer Engineering University of Kaiserslautern, Germany Slide 1 Industrial Experiences Formal verification of Systems-on-Chip

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

Hardware Equivalence & Property Verification

Hardware Equivalence & Property Verification Hardware Equivalence & Property Verification Introduction Jie-Hong Roland Jiang National Taiwan University Flolac 29 Flolac 29 3 Outline Motivations Introduction Motivations Systems to be verified Hardware

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

A brief history of model checking. Ken McMillan Cadence Berkeley Labs

A brief history of model checking. Ken McMillan Cadence Berkeley Labs A brief history of model checking Ken McMillan Cadence Berkeley Labs mcmillan@cadence.com Outline Part I -- Introduction to model checking Automatic formal verification of finite-state systems Applications

More information

arxiv: v1 [cs.lo] 7 Dec Department of Electrical and Computer Engineering,

arxiv: v1 [cs.lo] 7 Dec Department of Electrical and Computer Engineering, Dynamic Fault Trees Analysis using an Integration of Theorem Proving and Model Checking Yassmeen Elderhalli 1, Osman Hasan 1,2, Waqar Ahmad 2 and Sofiène Tahar 1 arxiv:1712.02872v1 [cs.lo] 7 Dec 2017 1

More information

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) First-Order Theorem Proving and Vampire Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) Outline Introduction First-Order Logic and TPTP Inference Systems

More information

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Computation Tree Logic (CTL) & Basic Model Checking Algorithms Computation Tree Logic (CTL) & Basic Model Checking Algorithms Martin Fränzle Carl von Ossietzky Universität Dpt. of Computing Science Res. Grp. Hybride Systeme Oldenburg, Germany 02917: CTL & Model Checking

More information

DVClub Europe Formal fault analysis for ISO fault metrics on real world designs. Jörg Große Product Manager Functional Safety November 2016

DVClub Europe Formal fault analysis for ISO fault metrics on real world designs. Jörg Große Product Manager Functional Safety November 2016 DVClub Europe Formal fault analysis for ISO 26262 fault metrics on real world designs Jörg Große Product Manager Functional Safety November 2016 Page 1 11/27/2016 Introduction Functional Safety The objective

More information

CMP 338: Third Class

CMP 338: Third Class CMP 338: Third Class HW 2 solution Conversion between bases The TINY processor Abstraction and separation of concerns Circuit design big picture Moore s law and chip fabrication cost Performance What does

More information

Integrating Induction and Deduction for Verification and Synthesis

Integrating Induction and Deduction for Verification and Synthesis Integrating Induction and Deduction for Verification and Synthesis Sanjit A. Seshia Associate Professor EECS Department UC Berkeley DATE 2013 Tutorial March 18, 2013 Bob s Vision: Exploit Synergies between

More information

CMPE12 - Notes chapter 1. Digital Logic. (Textbook Chapter 3)

CMPE12 - Notes chapter 1. Digital Logic. (Textbook Chapter 3) CMPE12 - Notes chapter 1 Digital Logic (Textbook Chapter 3) Transistor: Building Block of Computers Microprocessors contain TONS of transistors Intel Montecito (2005): 1.72 billion Intel Pentium 4 (2000):

More information

Model checking the basic modalities of CTL with Description Logic

Model checking the basic modalities of CTL with Description Logic Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking

More information

Evaluation and Validation

Evaluation and Validation Evaluation and Validation Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2011 06 18 These slides use Microsoft clip arts. Microsoft copyright restrictions

More information

Formal Reliability Analysis using Higher-Order Logic Theorem Proving

Formal Reliability Analysis using Higher-Order Logic Theorem Proving Formal Reliability Analysis using Higher-Order Logic Theorem Proving Naeem Ahmad Abbasi A Thesis in The Department of Electrical and Computer Engineering Presented in Partial Fulfillment of the Requirements

More information

The LCF Approach to Theorem Proving

The LCF Approach to Theorem Proving The LCF Approach to Theorem Proving 1 The LCF Approach to Theorem Proving John Harrison Intel Corporation Ideas and historical context Key ideas of LCF Equational logic example More about HOL Light Programming

More information

Architecture, Arguments, and Confidence

Architecture, Arguments, and Confidence Architecture, Arguments, and Confidence (Joint work with Bev Littlewood, City University, London UK) John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby Architecture,

More information

4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra

4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra 4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra To design a digital circuit that will perform a required function, it is necessary to manipulate and combine the various input signals in certain

More information

High Level Reduction Technique for Multiway Decision Graphs Based Model Checking

High Level Reduction Technique for Multiway Decision Graphs Based Model Checking High Level Reduction Technique for Multiway Decision Graphs Based Model Checking Ghiath Al Sammane, Sa ed Abed and Otmane Ait Mohamed Department of Electrical and Computer Engineering Concordia University

More information

Effect of round-off errors on the. Accuracy of randomized algorithms

Effect of round-off errors on the. Accuracy of randomized algorithms Effect of round-off errors on the accuracy of randomized algorithms ÉLIAUS-PROMES (UPR 8521 CNRS) Perpignan France marc.daumas@univ-perp.fr Outline 1 2 3 4 5 Characterize the accuracy of the result of

More information

SAT Solvers: Theory and Practice

SAT Solvers: Theory and Practice Summer School on Verification Technology, Systems & Applications, September 17, 2008 p. 1/98 SAT Solvers: Theory and Practice Clark Barrett barrett@cs.nyu.edu New York University Summer School on Verification

More information

Inductive Theorem Proving

Inductive Theorem Proving Introduction Inductive Proofs Automation Conclusion Automated Reasoning P.Papapanagiotou@sms.ed.ac.uk 11 October 2012 Introduction Inductive Proofs Automation Conclusion General Induction Theorem Proving

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

MODEL CHECKING. Arie Gurfinkel

MODEL CHECKING. Arie Gurfinkel 1 MODEL CHECKING Arie Gurfinkel 2 Overview Kripke structures as models of computation CTL, LTL and property patterns CTL model-checking and counterexample generation State of the Art Model-Checkers 3 SW/HW

More information

Mechanizing Elliptic Curve Associativity

Mechanizing Elliptic Curve Associativity Mechanizing Elliptic Curve Associativity Why a Formalized Mathematics Challenge is Useful for Verification of Crypto ARM Machine Code Joe Hurd Computer Laboratory University of Cambridge Galois Connections

More information

Artificial Intelligence Chapter 7: Logical Agents

Artificial Intelligence Chapter 7: Logical Agents Artificial Intelligence Chapter 7: Logical Agents Michael Scherger Department of Computer Science Kent State University February 20, 2006 AI: Chapter 7: Logical Agents 1 Contents Knowledge Based Agents

More information

Formal Verification of Mobile Network Protocols

Formal Verification of Mobile Network Protocols Dipartimento di Informatica, Università di Pisa, Italy milazzo@di.unipi.it Pisa April 26, 2005 Introduction Modelling Systems Specifications Examples Algorithms Introduction Design validation ensuring

More information

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna IIT Patna 1 Verification Arijit Mondal Dept. of Computer Science & Engineering Indian Institute of Technology Patna arijit@iitp.ac.in Introduction The goal of verification To ensure 100% correct in functionality

More information

The Underlying Semantics of Transition Systems

The Underlying Semantics of Transition Systems The Underlying Semantics of Transition Systems J. M. Crawford D. M. Goldschlag Technical Report 17 December 1987 Computational Logic Inc. 1717 W. 6th St. Suite 290 Austin, Texas 78703 (512) 322-9951 1

More information

Methods for Software Verification. Andrea Corradini Gian Luigi Ferrari. Second Semester 6 CFU

Methods for Software Verification. Andrea Corradini Gian Luigi Ferrari. Second Semester 6 CFU Methods for Software Verification Andrea Corradini Gian Luigi Ferrari Second Semester 6 CFU. The importance of Software Correctness Increasing integration of ICT in different applications: Embedded systems

More information

Formal Verification Methods 1: Propositional Logic

Formal Verification Methods 1: Propositional Logic Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure

More information

Accurate Reliability Analysis of Combinational Circuits using Theorem Proving

Accurate Reliability Analysis of Combinational Circuits using Theorem Proving Accurate Reliability Analysis of Combinational Circuits using Theorem Proving Osman Hasan, Jigar Patel and Sofiène Tahar Department of Electrical and Computer Engineering, Concordia University, Montreal,

More information

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Introduction to Artificial Intelligence Propositional Logic & SAT Solving UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Today Representation in Propositional Logic Semantics & Deduction

More information

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments Requirements for SAT solvers in the Real World Fast & Robust Given a problem instance, we want to solve it quickly Reliable

More information

Computer-Checked Meta-Logic

Computer-Checked Meta-Logic 1 PART Seminar 25 February 2015 Computer-Checked Meta-Logic Jørgen Villadsen jovi@dtu.dk Abstract Over the past decades there have been several impressive results in computer-checked meta-logic, including

More information

Implementing Proof Systems for the Intuitionistic Propositional Logic

Implementing Proof Systems for the Intuitionistic Propositional Logic Implementing Proof Systems for the Intuitionistic Propositional Logic Veronica Zammit Supervisor: Dr. Adrian Francalanza Faculty of ICT University of Malta May 27, 2011 Submitted in partial fulfillment

More information

Logic. Propositional Logic: Syntax

Logic. Propositional Logic: Syntax Logic Propositional Logic: Syntax Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about

More information

Logic. Propositional Logic: Syntax. Wffs

Logic. Propositional Logic: Syntax. Wffs Logic Propositional Logic: Syntax Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about

More information

COMP3702/7702 Artificial Intelligence Week 5: Search in Continuous Space with an Application in Motion Planning " Hanna Kurniawati"

COMP3702/7702 Artificial Intelligence Week 5: Search in Continuous Space with an Application in Motion Planning  Hanna Kurniawati COMP3702/7702 Artificial Intelligence Week 5: Search in Continuous Space with an Application in Motion Planning " Hanna Kurniawati" Last week" Main components of PRM" Collision check for a configuration"

More information

Learning Goals of CS245 Logic and Computation

Learning Goals of CS245 Logic and Computation Learning Goals of CS245 Logic and Computation Alice Gao April 27, 2018 Contents 1 Propositional Logic 2 2 Predicate Logic 4 3 Program Verification 6 4 Undecidability 7 1 1 Propositional Logic Introduction

More information

Lecture 1: Introduction to Embedded System Verification CS/ECE584. September 4 th 2012 Sayan Mitra

Lecture 1: Introduction to Embedded System Verification CS/ECE584. September 4 th 2012 Sayan Mitra Lecture 1: Introduction to Embedded System Verification CS/ECE584 September 4 th 2012 Sayan Mitra Plan for today Administrivia Project Background concepts OR A Brief History of Mechaned Reasoning Motivation

More information

6. Logical Inference

6. Logical Inference Artificial Intelligence 6. Logical Inference Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2016/2017 Creative Commons

More information

MACHINE COMPUTING. the limitations

MACHINE COMPUTING. the limitations MACHINE COMPUTING the limitations human computing stealing brain cycles of the masses word recognition: to digitize all printed writing language education: to translate web content games with a purpose

More information

Finite-state machines (FSMs)

Finite-state machines (FSMs) Finite-state machines (FSMs) Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada January 10, 2017 1/19 Finite-state machines (FSMs) and state

More information

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula: Logic: The Big Picture Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and

More information

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST Discrete Mathematics CS204: Spring, 2008 Jong C. Park Computer Science Department KAIST Today s Topics Combinatorial Circuits Properties of Combinatorial Circuits Boolean Algebras Boolean Functions and

More information

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness Requirements Validation Requirements Management Requirements Validation?? Validation, Verification, Accreditation!! Check if evrything is OK With respect to what? Mesurement associated with requirements

More information

Deductive Verification

Deductive Verification Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant

More information

Interactive Theorem Proving in Industry

Interactive Theorem Proving in Industry 1 Interactive Theorem Proving in Industry John Harrison Intel Corporation 16 April 2012 2 Milner on automation and interaction I wrote an automatic theorem prover in Swansea for myself and became shattered

More information

Price: $25 (incl. T-Shirt, morning tea and lunch) Visit:

Price: $25 (incl. T-Shirt, morning tea and lunch) Visit: Three days of interesting talks & workshops from industry experts across Australia Explore new computing topics Network with students & employers in Brisbane Price: $25 (incl. T-Shirt, morning tea and

More information

Bounded Model Checking Using Satisfiability Solving

Bounded Model Checking Using Satisfiability Solving Carnegie Mellon University Research Showcase @ CMU Computer Science Department School of Computer Science 2001 Bounded Model Checking Using Satisfiability Solving Edmund M. Clarke Carnegie Mellon University,

More information

COMP219: Artificial Intelligence. Lecture 19: Logic for KR

COMP219: Artificial Intelligence. Lecture 19: Logic for KR COMP219: Artificial Intelligence Lecture 19: Logic for KR 1 Overview Last time Expert Systems and Ontologies Today Logic as a knowledge representation scheme Propositional Logic Syntax Semantics Proof

More information

Proofs Propositions and Calculuses

Proofs Propositions and Calculuses Lecture 2 CS 1813 Discrete Mathematics Proofs Propositions and Calculuses 1 City of Königsberg (Kaliningrad) 2 Bridges of Königsberg Problem Find a route that crosses each bridge exactly once Must the

More information

VLSI Design I. Defect Mechanisms and Fault Models

VLSI Design I. Defect Mechanisms and Fault Models VLSI Design I Defect Mechanisms and Fault Models He s dead Jim... Overview Defects Fault models Goal: You know the difference between design and fabrication defects. You know sources of defects and you

More information

Formalizing Mathematics

Formalizing Mathematics 0 Formalizing Mathematics John Harrison Intel Corporation Seminar, University of Pittsburgh March 22, 2007 1 What is formalization of mathematics? Two aspects, corresponding to Leibniz s characteristica

More information

Propositional Logic: Syntax

Propositional Logic: Syntax Logic Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and programs) epistemic

More information

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods NICTA Advanced Course Theorem Proving Principles, Techniques, Applications Gerwin Klein Formal Methods 1 ORGANISATORIALS When Mon 14:00 15:30 Wed 10:30 12:00 7 weeks ends Mon, 20.9.2004 Exceptions Mon

More information

Unit 8A Computer Organization. Boolean Logic and Gates

Unit 8A Computer Organization. Boolean Logic and Gates Unit 8A Computer Organization Boolean Logic and Gates Announcements Bring ear buds or headphones to lab! 15110 Principles of Computing, Carnegie Mellon University - CORTINA 2 Representing and Manipulating

More information

Formalization of Continuous Probability Distributions

Formalization of Continuous Probability Distributions Formalization of Continuous Probability Distributions Osman Hasan and Sofiène Tahar Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada Email: {o hasan, tahar}@ece.concordia.ca

More information

Propositional Logic: Part II - Syntax & Proofs 0-0

Propositional Logic: Part II - Syntax & Proofs 0-0 Propositional Logic: Part II - Syntax & Proofs 0-0 Outline Syntax of Propositional Formulas Motivating Proofs Syntactic Entailment and Proofs Proof Rules for Natural Deduction Axioms, theories and theorems

More information

In recent years CTL and LTL logics have been used with considerable industrial success.

In recent years CTL and LTL logics have been used with considerable industrial success. Modelchecking In recent years CTL and LTL logics have been used with considerable industrial success. For example microprocessors manufacturers (like Intel, Motorola) use programs which automatically can

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati NPTEL Phase-II Video course on Design Verification and Test of Digital VLSI Designs Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati Module IV: Temporal Logic Lecture I: Introduction to formal methods

More information

Propositional Resolution

Propositional Resolution Artificial Intelligence Propositional Resolution Marco Piastra Propositional Resolution 1] Deductive systems and automation Is problem decidible? A deductive system a la Hilbert (i.e. derivation using

More information

Safety and Reliability of Embedded Systems

Safety and Reliability of Embedded Systems (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Mathematical Background and Algorithms Prof. Dr. Liggesmeyer, 0 Content Definitions of Terms Introduction to Combinatorics General

More information

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Salamah Salamah, Ann Q. Gates, Vladik Kreinovich, and Steve Roach Dept. of Computer Science, University of Texas

More information

Today s Lecture. Mars Climate Orbiter. Lecture 21: Software Disasters. Mars Climate Orbiter, continued

Today s Lecture. Mars Climate Orbiter. Lecture 21: Software Disasters. Mars Climate Orbiter, continued Today s Lecture Lecture 21: Software Disasters Kenneth M. Anderson Software Methods and Tools CSCI 3308 - Fall Semester, 2003 Discuss several different software disasters to provide insights into the types

More information

Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST

Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs402-07 1 Review Goal of logic To check whether given a formula

More information

CS 226: Digital Logic Design

CS 226: Digital Logic Design CS 226: Digital Logic Design 0 1 1 I S 0 1 0 S Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 29 Objectives In this lecture we will introduce: 1. Logic functions

More information