An Informal introduction to Formal Verification
|
|
- Lorena Stevenson
- 5 years ago
- Views:
Transcription
1 An Informal introduction to Formal Verification Osman Hasan National University of Sciences and Technology (NUST), Islamabad, Pakistan
2 O. Hasan Formal Verification 2 Agenda q Formal Verification Methods, Osman Hasan q Can Formal Logic help with Social Decision Making?, Stephen Arthur Cook q 1982 ACM Turing award for his contributions to complexity theory q Birth of Model Checking, Edmund M. Clarke q Formal Methods Assessment and Perspectives, Joseph Sifakis q Prof. Clarke and Prof. Sifakis are co-recipients of the 2007 ACM Turing Award for their role in developing Model Checking into a highly effective verification technology
3 O. Hasan Formal Verification 3 Objectives q Formal Verification A sound system analysis technique Soundness: Every statement that is provable is actually true q Why do we need it? q What is it? q How can we apply it for the analysis of real-world systems?
4 O. Hasan Formal Verification 4 System Analysis q Does the system exhibit the desired behavior? q Mathematically using paper-and-pencil proof methods q Computer Simulations
5 Paper-and-Pencil Proof Methods q Construct a mathematical model of the system q Mathematically verify that the system exhibits the desired characteristics q Accurate q Scalability q Error-Prone O. Hasan Formal Verification 5
6 O. Hasan O. Hasan and S. Tahar Formal Verification 6 Simulation or Testing q Construct a computer based model of the system q Analyze the behavior of the system model under a number of test cases to deduce properties of interest
7 Simulation or Testing Example: Remainder and Quotient Program var x, y, q, r: integer; r := x; q := 0; while y < r do r := r - y; q := q + 1; q Property q r and q represent the remainder and quotient for all values of variables x and y q Test Cases Input (x,y) Output (r,q) Property (23,4) (3,5) True (2,5) (2,0) True (17,3) (2,5) True q Infer: The property is true since it is found to be true for all the test vectors used O. Hasan O. Hasan and S. Tahar Formal Verification 7
8 Simulation or Testing Example: Remainder and Quotient Program var x, y, q, r: integer; r := x; q := 0; while y < r do r := r - y; q := q + 1; q Testing for (24, 4) q After the fifth iteration, r = 4, q = 5, y = 4, the loop ends and we get (5, 4), which is wrong q Fix: Replace the condition y < r with y r q Testing for (23, -2) q r is always greater than x and thus we have an infinite loop q Fix: Constrain y to have positive values only O. Hasan O. Hasan and S. Tahar Formal Verification 8
9 O. Hasan O. Hasan and S. Tahar Formal Verification 9 Simulation or Testing q Easy to use q May lead to wrong conclusions q Practically impossible to test for all possible cases when dealing with large systems q Suppose we want to test a 64-bit floating-point division routine. There are combinations. q At 1 test/ms, it will take years Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence. Edsgar W. Dijkstra
10 System Analysis Accuracy q Extremely Important Hardware Software O. Hasan Formal Verification 10
11 O. Hasan O. Hasan and S. Tahar Formal Verification 11 System Analysis Accuracy q Faulty systems can be disastrous q FDIV bug in Intel Pentium (60 Mhz, 90Mhz) q Hardware error in the floating point division unit q Expected precision up to 18 positions q in practice, only 4 positions q Example: q / q wrong answer: q expected answer: q Resulted in net loss of approximately US $500M to the company in 1994
12 O. Hasan Formal Verification 12 System Analysis Accuracy q Faulty systems can be disastrous q Therac-25 q Software Bug in a Cancer Therapy Machine q 3 Deaths and 3 severe injuries between
13 O. Hasan O. Hasan and S. Tahar Formal Verification 13 System Analysis Accuracy q Faulty systems can be disastrous q Mars Polar Lander q Mars Climate Orbiter q Engine shutdown due to spurious signals that gave false indication that spacecraft had landed Mars q Resulted in a loss of US $370M in 1999 q Conversion error from English units to metric units q Resulted in a loss of US $125M in 1999
14 O. Hasan O. Hasan and S. Tahar Formal Verification 14 System Analysis Accuracy q Faulty systems can be disastrous
15 Formal Verification q Bridges the gap between Paper-and-pencil proof methods and simulation Paper-and-pencil Proof Methods Formal Verification Simulation q Shares their advantages q As precise as a mathematical proof can be q Computers are used for book-keeping q Not as straightforward to use as testing O. Hasan O. Hasan and S. Tahar Formal Verification 15
16 O. Hasan O. Hasan and S. Tahar Formal Verification 16 Formal Verification q Construct a computer-based mathematical model of the system (implementation) q Use mathematical methods to check if the implementation satisfies the properties of interest (specifications) in a computerized environment
17 O. Hasan O. Hasan and S. Tahar Formal Verification 17 Formal Verification Methods q Most widely used techniques q Model Checking q Theorem proving
18 Model Checking q Typically used for verifying Concurrent Finite- State Systems q Rigorous testing is infeasible due to large number of possible scenarios q Implementation q State-transition Graph q Specifications q Temporal Logic O. Hasan Formal Verification 18
19 Temporal Logic q Time is modeled as a sequence of states q Atomic formulas associated with each state q Temporal connectives allow us to refer to the future q F: some Future state (Fp) p q X: next state (Xp) p q G: Globally (Gp) p p p p q U: Until (puq) p p p q O. Hasan Formal Verification 19
20 Model Checking q The verification can be done automatically using rigorous state-exploration methods q Counter Examples q In case of failing properties, counter examples are provided for debugging purposes O. Hasan Formal Verification 20
21 O. Hasan Formal Verification 21 Model Checking Example: Mutual Exclusion Protocol q Concurrent processes sharing the same file q Each process has a critical section (where the shared file is accessed) q The protocol manages the entry of a process in its critical sections q Formally verify that the protocol allows only one process to enter its critical section at any time
22 Model Checking Example: Mutual Exclusion Protocol q Model of the Protocol q Two Processes q non-critical state (n) q trying to enter its critical state (t) q its critical state (c) Logic in Computer Science, Ruth & Ryan O. Hasan Formal Verification 22
23 O. Hasan Formal Verification 23 Model Checking Example: Mutual Exclusion Protocol q Property 1: Only one process is in its critical section at any time q : True Logic in Computer Science, Ruth & Ryan
24 O. Hasan Formal Verification 24 Model Checking Example: Mutual Exclusion Protocol q Property 2: Whenever any process requests to enter its critical section, it will eventually be permitted to do so q : False q Counter Example: q Fix: FIFO Logic in Computer Science, Ruth & Ryan
25 O. Hasan Formal Verification 25 Model Checking q Extensively used in verifying q Software q Security Protocols q Telecommunication Protocols q Digital hardware q Analog and mixed signal circuits q Microprocessors q Biological Systems
26 O. Hasan O. Hasan and S. Tahar Formal Verification 26 Model Checking q Advantages q Automatic (Push button type analysis tools) q No proofs involved q Diagnostic counter examples q Disadvantages q Limited expressiveness q State-space explosion problem q Some commonly used Model Checking Tools q SPIN q NuSMV q PRISM (A probabilistic model checker)
27 O. Hasan O. Hasan and S. Tahar Formal Verification 27 Theorem Proving S ystem Properties Logic (Function) Logic (Theorem) Theorem Prover Form al proofs of the system properties
28 Logic q Study of drawing conclusions (reasoning) q Propositional logic Supports statements that can be true or false q First-order logic (Predicate logic) Quantification over variables ( : For all, : there exists) q Higher-order logic Quantification over sets and functions Propositional Logic Less expressive(-) Decidable(+) First-Order Logic Higher-Order Logic Very expressive(+) Undecidable(-) O. Hasan Formal Verification 28
29 O. Hasan O. Hasan and S. Tahar 29 Formal Verification 29 Theorem Prover q A theorem prover consists of q A notation (Syntax) q A small set of fundamental axioms (facts) Example: ( A) A q A small set of deduction rules Example: Given (A B) and A, we can deduce B q Soundness is assured as every new theorem must be created from q The basic axioms and primitive inference rules q Any other already proved theorems (Theory Files)
30 Theorem Proving - Example: Natural Log of Product val LN_MUL = store_thm("ln_mul", (--` x y. 0 < x 0 < y (ln (x * y) = ln x + ln y)`--), REPEAT GEN_TAC THEN STRIP_TAC THEN ONCE_REWRITE_TAC[GSYM EXP_INJ] THEN REWRITE_TAC[EXP_ADD] THEN SUBGOAL_THEN (--`&0 < x * y`--) ASSUME_TAC THENL [MATCH_MP_TAC REAL_LT_MUL THEN ASM_REWRITE_TAC[], EVERY_ASSUM(fn th => REWRITE_TAC[ONCE_REWRITE_RULE[GSYM EXP_LN] th])]); [EXP_INJ] x y. (exp x = exp y) (x = y) [EXP_ADD] x y. exp (x + y) = exp x * exp y [EXP_LN] x. (exp (ln x) = x) 0 < x O. Hasan Formal Verification 30
31 Theorem Proving q Formalization of Classical Mathematical Theories q Multivariable analysis q Euclidian Geometry q Probability q Information q Fractional Calculus O. Hasan O. Hasan and S. Tahar Formal Verification 31
32 O. Hasan O. Hasan and S. Tahar Formal Verification 32 Theorem Proving q Some Significant Formally Verified Theorems q Gödel's Incompleteness Theorem q The Impossibility of Trisecting the Angle and Doubling the Cube q Euler's Generalization of Fermat's Little Theorem q Fundamental Theorem of Integral Calculus q De Moivre's Theorem q Feuerbach's Theorem q The Solution of a Cubic q Minkowski's Fundamental Theorem q Pick's Theorem q Cramer's Rule
33 Theorem Proving q System Analysis q Compilers q Floating-point algorithms q Digital Signal Processing systems q Optical systems q Wireless sensor networks q Kinematic Analysis of Robots O. Hasan O. Hasan and S. Tahar Formal Verification 33
34 Significance of Assumptions q May be guessed q We all know that Probabilities need to be in the interval [0,1] q Not very straightforward q Theorem cannot be verified except these Theorem: Repairability of Stuck-at Faults a b w. (0 a) (a 1) (0 b) (b 1) ( n. (0<w(n)) (w(n)<(a+b) ) ) n (lim λ n. 1 w(n) = 0 ) (lim (λn. P{ s (fst (num_of_faults n a b w s) ) (a+b)n}) = 1) O. Hasan Formal Verification 34
35 O. Hasan O. Hasan and S. Tahar Formal Verification 35 Theorem Proving q Advantages q High expressiveness q No risk of mistakes (human errors) q Some parts of the proofs can be automated q Disadvantages q Detailed and explicit human guidance required for verifying realworld systems q The state-of-the-art is limited q Theorem Proving Tools q ACL2 (First-order Logic) q Coq (Higher-order Logic) q HOL (Higher-order-logic)
36 O. Hasan Formal Verification 36 Objectives q Formal Verification q Why do we need it? Exact Answers (Useful for the analysis of Safety-critical systems) q What is it? Mathematically reason about properties of a system using a computer-based tool q How can we apply it for the analysis of real-world systems? Mathematically model the system (Implementation) Mathematically model the desired properties (Specification) Use tool support to mathematically prove that the specification holds for your implementation
37 Conclusions q Formal Verification is not an alternative to simulation q Both techniques have to play together for a successful analysis framework q Less critical sections of the system q Simulation/Testing q Critical sections of the system that can be expressed as a FSM q Model Checking q Critical sections of the system that cannot be handled by Model Checking q Theorem Proving O. Hasan Formal Verification 37
38 O. Hasan Formal Verification 38 Thanks! q For More Information q Visit our website q Contact osman.hasan@seecs.nust.edu.pk
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 informationCOEN6551: Formal Hardware Verification
COEN6551: Formal Hardware Verification Prof. Sofiène Tahar Hardware Verification Group Electrical and Computer Engineering Concordia University Montréal, Quebec CANADA Accident at Carbide plant, India
More informationFormal 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 informationPerformance 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 informationIntroduction. 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 informationAbstractions 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 informationIntel 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 informationModel Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the
Sérgio Campos, Edmund Why? Advantages: No proofs Fast Counter-examples No problem with partial specifications can easily express many concurrency properties Main Disadvantage: State Explosion Problem Too
More informationSoftware 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 informationModel 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- 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 informationIntroduction to Model Checking. Debdeep Mukhopadhyay IIT Madras
Introduction to Model Checking Debdeep Mukhopadhyay IIT Madras How good can you fight bugs? Comprising of three parts Formal Verification techniques consist of three parts: 1. A framework for modeling
More informationPrice: $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 informationA 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 informationModel 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 informationCS 267: Automated Verification. Lecture 1: Brief Introduction. Transition Systems. Temporal Logic LTL. Instructor: Tevfik Bultan
CS 267: Automated Verification Lecture 1: Brief Introduction. Transition Systems. Temporal Logic LTL. Instructor: Tevfik Bultan What do these people have in common? 2013 Leslie Lamport 2007 Clarke, Edmund
More informationAlan 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 informationEvaluation 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 informationRanking 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 informationFormal 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 informationWhat are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos
What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos armandobcm@yahoo.com February 5, 2014 Abstract This note is for personal use. It
More informationLogic. 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 informationState-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 informationPropositional 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 informationFormalizing 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 informationFAIRNESS FOR INFINITE STATE SYSTEMS
FAIRNESS FOR INFINITE STATE SYSTEMS Heidy Khlaaf University College London 1 FORMAL VERIFICATION Formal verification is the process of establishing whether a system satisfies some requirements (properties),
More informationChapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013
Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of
More informationCOP4020 Programming Languages. Introduction to Axiomatic Semantics Prof. Robert van Engelen
COP4020 Programming Languages Introduction to Axiomatic Semantics Prof. Robert van Engelen Assertions and Preconditions Assertions are used by programmers to verify run-time execution An assertion is a
More informationLogic. 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 informationCOMP3702/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 informationarxiv: 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 informationPropositional 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 informationLast Time. Inference Rules
Last Time When program S executes it switches to a different state We need to express assertions on the states of the program S before and after its execution We can do it using a Hoare triple written
More informationFormal verification of IA-64 division algorithms
Formal verification of IA-64 division algorithms 1 Formal verification of IA-64 division algorithms John Harrison Intel Corporation IA-64 overview HOL Light overview IEEE correctness Division on IA-64
More informationSymbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel
Symbolic Trajectory Evaluation (STE): Automatic Refinement and Vacuity Detection Orna Grumberg Technion, Israel Marktoberdort 2007 1 Agenda Model checking Symbolic Trajectory Evaluation Basic Concepts
More informationComputer 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 informationEqualities and Uninterpreted Functions. Chapter 3. Decision Procedures. An Algorithmic Point of View. Revision 1.0
Equalities and Uninterpreted Functions Chapter 3 Decision Procedures An Algorithmic Point of View D.Kroening O.Strichman Revision 1.0 Outline Decision Procedures Equalities and Uninterpreted Functions
More informationNPTEL 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 informationDeductive 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 informationLecture Notes on Software Model Checking
15-414: Bug Catching: Automated Program Verification Lecture Notes on Software Model Checking Matt Fredrikson André Platzer Carnegie Mellon University Lecture 19 1 Introduction So far we ve focused on
More informationGuest lecturer: Prof. Mark Reynolds, The University of Western Australia
Università degli studi di Udine Corso per il dottorato di ricerca: Temporal Logics: Satisfiability Checking, Model Checking, and Synthesis January 2017 Lecture 01, Part 02: Temporal Logics Guest lecturer:
More informationNICTA 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 informationLearning 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 informationMODEL 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 informationThe 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 informationProbabilistic Guarded Commands Mechanized in HOL
Probabilistic Guarded Commands Mechanized in HOL Joe Hurd joe.hurd@comlab.ox.ac.uk Oxford University Joint work with Annabelle McIver (Macquarie University) and Carroll Morgan (University of New South
More informationProofs 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 informationLogic: Propositional Logic Truth Tables
Logic: Propositional Logic Truth Tables Raffaella Bernardi bernardi@inf.unibz.it P.zza Domenicani 3, Room 2.28 Faculty of Computer Science, Free University of Bolzano-Bozen http://www.inf.unibz.it/~bernardi/courses/logic06
More informationSAT, NP, NP-Completeness
CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)
More informationPredicate 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 informationFormal 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 informationTheorem 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 informationClassical Program Logics: Hoare Logic, Weakest Liberal Preconditions
Chapter 1 Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions 1.1 The IMP Language IMP is a programming language with an extensible syntax that was developed in the late 1960s. We will
More informationAgenda. Artificial Intelligence. Reasoning in the Wumpus World. The Wumpus World
Agenda Artificial Intelligence 10. Propositional Reasoning, Part I: Principles How to Think About What is True or False 1 Introduction Álvaro Torralba Wolfgang Wahlster 2 Propositional Logic 3 Resolution
More informationPREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2
PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2 Neil D. Jones DIKU 2005 14 September, 2005 Some slides today new, some based on logic 2004 (Nils Andersen) OUTLINE,
More informationBenefits of Interval Temporal Logic for Specification of Concurrent Systems
Benefits of Interval Temporal Logic for Specification of Concurrent Systems Ben Moszkowski Software Technology Research Laboratory De Montfort University Leicester Great Britain email: benm@dmu.ac.uk http://www.tech.dmu.ac.uk/~benm
More informationModel Checking with CTL. Presented by Jason Simas
Model Checking with CTL Presented by Jason Simas Model Checking with CTL Based Upon: Logic in Computer Science. Huth and Ryan. 2000. (148-215) Model Checking. Clarke, Grumberg and Peled. 1999. (1-26) Content
More informationSemantic 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 informationTESTING is one of the most important parts of the
IEEE TRANSACTIONS 1 Generating Complete Controllable Test Suites for Distributed Testing Robert M. Hierons, Senior Member, IEEE Abstract A test suite is m-complete for finite state machine (FSM) M if it
More informationLogic: The Big Picture
Logic: The Big Picture A typical logic is described in terms of syntax: what are the legitimate formulas semantics: under what circumstances is a formula true proof theory/ axiomatization: rules for proving
More informationLecture 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 informationDouble 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 informationExamples: 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 informationFormal 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 informationTemporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.
EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016
More informationFormalization of Ray Optics (Highlights)
Formalization of Ray Optics (Highlights) Umair Siddique Hardware Verification Group (HVG) Department of Electrical and Computer Engineering, Concordia University, Montreal, Quebec, Canada Umair Siddique
More informationESE601: Hybrid Systems. Introduction to verification
ESE601: Hybrid Systems Introduction to verification Spring 2006 Suggested reading material Papers (R14) - (R16) on the website. The book Model checking by Clarke, Grumberg and Peled. What is verification?
More informationIntroduction to Embedded Systems
Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 149/249A Fall 2015 2008-2015: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter 13: Specification and
More informationSoftware 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 informationChapter 1 The Real Numbers
Chapter 1 The Real Numbers In a beginning course in calculus, the emphasis is on introducing the techniques of the subject;i.e., differentiation and integration and their applications. An advanced calculus
More informationModel Checking, Theorem Proving, and Abstract Interpretation: The Convergence of Formal Verification Technologies
Model Checking, Theorem Proving, and Abstract Interpretation: The Convergence of Formal Verification Technologies Tom Henzinger EPFL Three Verification Communities Model checking: -automatic, but inefficient
More informationRequirements 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 informationAxiomatic Semantics. Lecture 9 CS 565 2/12/08
Axiomatic Semantics Lecture 9 CS 565 2/12/08 Axiomatic Semantics Operational semantics describes the meaning of programs in terms of the execution steps taken by an abstract machine Denotational semantics
More informationFormalization 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 informationON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM. Turing 1936
ON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM Turing 1936 Where are We? Ignoramus et ignorabimus Wir mussen wissen Wir werden wissen We do not know We shall not know We must know
More informationImplementing 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 informationFormal 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 informationFormal Verification. Lecture 1: Introduction to Model Checking and Temporal Logic¹
Formal Verification Lecture 1: Introduction to Model Checking and Temporal Logic¹ Jacques Fleuriot jdf@inf.ed.ac.uk ¹Acknowledgement: Adapted from original material by Paul Jackson, including some additions
More informationOverview. 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 informationAutomated Reasoning and its Applications
0 Automated Reasoning and its Applications John Harrison Intel Corporation Colloquium, Institute of Mathematics Hanoi 30th July 2009 1 What is automated reasoning? Attempting to perform logical reasoning
More informationComputational 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 informationIntegrating 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 informationAccurate 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 informationCS 275 Automata and Formal Language Theory
CS 275 Automata and Formal Language Theory Course Notes Part III: Limits of Computation Chapter III.1: Introduction Anton Setzer http://www.cs.swan.ac.uk/ csetzer/lectures/ automataformallanguage/current/index.html
More informationProof Techniques (Review of Math 271)
Chapter 2 Proof Techniques (Review of Math 271) 2.1 Overview This chapter reviews proof techniques that were probably introduced in Math 271 and that may also have been used in a different way in Phil
More information6. 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 informationA 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 informationLogic in Automatic Verification
Logic in Automatic Verification Javier Esparza Sofware Reliability and Security Group Institute for Formal Methods in Computer Science University of Stuttgart Many thanks to Abdelwaheb Ayari, David Basin,
More information02 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 informationOn-the-Fly Model Checking for Extended Action-Based Probabilistic Operators
On-the-Fly Model Checking for Extended Action-Based Probabilistic Operators Radu Mateescu and José Ignacio Requeno Inria Grenoble and LIG / Convecs http://convecs.inria.fr SPIN 2016 - Eindhoven, March
More informationCHAPTER 10 Zeros of Functions
CHAPTER 10 Zeros of Functions An important part of the maths syllabus in secondary school is equation solving. This is important for the simple reason that equations are important a wide range of problems
More informationAxiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE
Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE 6341 1 Outline Introduction What are axiomatic semantics? First-order logic & assertions about states Results (triples)
More informationGreat Theoretical Ideas
15-251 Great Theoretical Ideas in Computer Science Gödel s Legacy: Proofs and Their Limitations Lecture 25 (November 16, 2010) The Halting Problem A Quick Recap of the Previous Lecture Is there a program
More informationInstitute for Applied Information Processing and Communications (IAIK) Secure & Correct Systems. Decidability
Decidability and the Undecidability of Predicate Logic IAIK Graz University of Technology georg.hofferek@iaik.tugraz.at 1 Fork of ways Brainteaser: Labyrinth Guards One to salvation One to perdition Two
More informationZeros of Functions. Chapter 10
Chapter 10 Zeros of Functions An important part of the mathematics syllabus in secondary school is equation solving. This is important for the simple reason that equations are important a wide range of
More informationIntroduction to Turing Machines
Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability
More informationVerification. 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 informationBounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39
Bounded Model Checking with SAT/SMT Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Recap: Symbolic Model Checking with BDDs Method used by most industrial strength model checkers:
More informationArtificial 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 informationCS 275 Automata and Formal Language Theory
CS 275 Automata and Formal Language Theory Course Notes Part III: Limits of Computation Chapt. III.1: Introduction Anton Setzer http://www.cs.swan.ac.uk/ csetzer/lectures/ automataformallanguage/current/index.html
More information