Algorithmic Software Verification
|
|
|
- Toby Peters
- 10 years ago
- Views:
Transcription
1 Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan
2 What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal models for programs. Logics for specifications. Algorithms for checking the model against the specification.
3 First Step: We need a formal model!
4 Finite State Machines F SM =(Σ, X, {D x } x X, Q, Q 0, λ, δ) Σ X D x Q Q 0 Q λ δ Q Σ Q finite set of actions. finite set of variables. domain of x for all x X. finite set of states. set of initial states. q (x D x ) transition relation.
5 Extended Finite State Machines EF SM =(Σ, X, {D x } x X, L, L 0, G, δ) Σ X D x L L 0 L G δ finite set of actions. finite set of variables. domain of x for all x X. finite set of control locations. set of initial locations. predicates (guards) over variables. transition relation.
6 Kripke Structures An FSM where: D x = {true, false}
7 Kripke Structures An FSM where: D x = {true, false} In short: M =(Q, Q 0, AP, L : Q 2 AP, δ)
8 Reachability in FSMs Problem: given an FSM, and a target set T, is T reachable from Q 0. Solution?
9 Reachability in FSMs Problem: given an FSM, and a target set T, is T reachable from Q 0. Solution? Depth First Search, in O(n) time.
10 Reachability in FSMs Problem: given an FSM, and a target set T, is T reachable from Q 0. Solution? Depth First Search, in O(n) time. DFS(q) Add q to visited_states; for each q such that q -a-> q if q in T print "YES!"; halt; else if q not in visited_states DFS(q )
11 Model Checking FSMs Given an FSM M for the model and an FSM S for the specification: Question: Is every behavior of M a behavior of S? L(M) L(S) Solvable in PSpace: linear in M and exponential in S.
12 Exercise I 3 cannibals and 3 missionaries are on the left side of a river. There is 1 boat that can carry two people. (The boat of course needs to be ferried by at least one person). If at any point, there are more cannibals than missionaries on one bank, the cannibals eat the missionaries. Model all the possibilities of movement between the banks using an EFSM. The EFSM should have at least two locations, one for the configurations where the boat is on the left bank, and one for configurations where it is on the right. Also, model it such that checking whether all of them can get safely across to the right side reduces to reachability in the model.
13 Temporal Logic (A language for writing specifications) Language for describing properties of infinite sequences. Extension of propositional logic (or firstorder logic). Uses temporal operators to describe sequencing properties.
14 Temporal Logic Interpreted on sequences of states. Each state in the sequence gives a truth value to atomic propositions. Temporal operators indicate in which states the formula should be interpreted.
15 Temporal Operators (Next) formula is true in the next state. : (eventually) formula is true in some future state. : (Always) formula is true in all future states. U: (Until) binary operator. R: (Release) binary operator.
16 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
17 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
18 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
19 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
20 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
21 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
22 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
23 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
24 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
25 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
26 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
27 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
28 Examples p,q p, q p,q p,q p,q p q (p q) (p q) p ( p q)
29 Temporal Logic (Syntax) true, false,p, or p where p P is an atomic proposition. φ 1 φ 2 or φ 1 φ 2, where φ 1 and φ 2 are LTL formulas. φ 1, φ 1 U φ 2, or φ 1 R φ 2, where φ 1 and φ 2 are LTL formulas.
30 Temporal Logic (Syntax) true, false,p, or p where p P is an atomic proposition. φ 1 φ 2 or φ 1 φ 2, where φ 1 and φ 2 are LTL formulas. φ 1, φ 1 U φ 2, or φ 1 R φ 2, where φ 1 and φ 2 are LTL formulas. Two useful abbreviations:
31 Temporal Logic (Syntax) true, false,p, or p where p P is an atomic proposition. φ 1 φ 2 or φ 1 φ 2, where φ 1 and φ 2 are LTL formulas. φ 1, φ 1 U φ 2, or φ 1 R φ 2, where φ 1 and φ 2 are LTL formulas. Two useful abbreviations: φ = true U φ φ = false R φ
32 Temporal Logic (Semantics) The semantics of LTL is defined with respect to paths. For a path π : N 2 P, let π i represent the suffix of π when the first i states are removed.
33 Temporal Logic (Semantics) The semantics of LTL is defined with respect to paths. For a path π : N 2 P, let π i represent the suffix of π when the first i states are removed. For all π, we have π = true and π = false.
34 Temporal Logic (Semantics) The semantics of LTL is defined with respect to paths. For a path π : N 2 P, let π i represent the suffix of π when the first i states are removed. For all π, we have π = true and π = false. π = p iff p π(0).
35 Temporal Logic (Semantics) The semantics of LTL is defined with respect to paths. For a path π : N 2 P, let π i represent the suffix of π when the first i states are removed. For all π, we have π = true and π = false. π = p iff p π(0). π = p iff p π(0).
36 Temporal Logic (Semantics) The semantics of LTL is defined with respect to paths. For a path π : N 2 P, let π i represent the suffix of π when the first i states are removed. For all π, we have π = true and π = false. π = p iff p π(0). π = p iff p π(0). π = φ 1 φ 2 iff π = φ 1 and π = φ 2.
37 Temporal Logic (Semantics)
38 Temporal Logic (Semantics) π = φ 1 φ 2 iff π = φ 1 or π = φ 2.
39 Temporal Logic (Semantics) π = φ 1 φ 2 iff π = φ 1 or π = φ 2. π = φ iff π 1 = φ.
40 Temporal Logic (Semantics) π = φ 1 φ 2 iff π = φ 1 or π = φ 2. π = φ iff π 1 = φ. π = φ 1 U φ 2 iff i 0 such that π i = φ 2 and 0 j < i, we have π j = φ 1.
41 Temporal Logic (Semantics) π = φ 1 φ 2 iff π = φ 1 or π = φ 2. π = φ iff π 1 = φ. π = φ 1 U φ 2 iff i 0 such that π i = φ 2 and 0 j < i, we have π j = φ 1. π = φ 1 R φ 2 iff i 0 such that π i = φ 2, 0 j < i such that π j = φ 1.
42 Negation?
43 Negation? π = φ iff π = ( φ 1 )
44 Negation? π = φ iff π = ( φ 1 ) π = φ 1 U φ 2 iff π = ( φ 1 ) R( φ 2 )
45 Negation? π = φ iff π = ( φ 1 ) π = φ 1 U φ 2 iff π = ( φ 1 ) R( φ 2 ) π = φ 1 R φ 2 iff π = ( φ 1 ) U( φ 2 )
46 But, how do I get an FSM from a formula???
47 From LTL to Automata Given a LTL formula φ built from a set of atomic propositions construct an automaton on infinite words over the alphabet that accepts exactly the infinite sequences satisfying. φ 2 P P
48 From LTL to Automata Given a LTL formula φ built from a set of atomic propositions construct an automaton on infinite words over the alphabet that accepts exactly the infinite sequences satisfying. φ 2 P P Example: p
49 From LTL to Automata Given a LTL formula φ built from a set of atomic propositions construct an automaton on infinite words over the alphabet that accepts exactly the infinite sequences satisfying. φ 2 P P Example: p, {p} {p}
50 Tutorial on Büchi Automata
Introduction to Software Verification
Introduction to Software Verification Orna Grumberg Lectures Material winter 2013-14 Lecture 4 5.11.13 Model Checking Automated formal verification: A different approach to formal verification Model Checking
logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?
5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling
Automata-based Verification - I
CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: [email protected] March 2006 Supporting and Background Material Copies of key slides (already
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
Formal Verification and Linear-time Model Checking
Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging
Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary
Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
Formal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Software Model Checking: Theory and Practice
Software Model Checking: Theory and Practice Lecture: Specification Checking - LTL Model Checking Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Martin Leucker Technische Universität München (joint work with Andreas Bauer, Christian Schallhart et. al) FLACOS
http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86
Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy
T-79.186 Reactive Systems: Introduction and Finite State Automata
T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
Model Checking II Temporal Logic Model Checking
1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:
tutorial: hardware and software model checking
tutorial: hardware and software model checking gerard holzmann and anuj puri { gerard anuj } @research.bell-labs.com Bell Labs, USA outline introduction (15 mins) theory and algorithms system modeling
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Fundamentals of Software Engineering
Fundamentals of Software Engineering Model Checking with Temporal Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner
Model checking test models. Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl
Model checking test models Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl February 14, 2014 Abstract This thesis is about model checking testing models. These testing
LTL Model Checking with Logic Based Petri Nets
LTL Model Checking with Logic Based Petri Nets Tristan M. Behrens and Jürgen Dix IfI Technical Report Series IfI-07-04 Impressum Publisher: Institut für Informatik, Technische Universität Clausthal Julius-Albert
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
Development of dynamically evolving and self-adaptive software. 1. Background
Development of dynamically evolving and self-adaptive software 1. Background LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 Requirements Functional requirements
Temporal Logics. Computation Tree Logic
Temporal Logics CTL: definition, relationship between operators, adequate sets, specifying properties, safety/liveness/fairness Modeling: sequential, concurrent systems; maximum parallelism/interleaving
Software Engineering using Formal Methods
Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
The Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund
Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund RIACS Technical Report 01.21 August 2001 Presented at the 16 th IEEE International Conference
Program Synthesis is a Game
Program Synthesis is a Game Barbara Jobstmann CNRS/Verimag, Grenoble, France Outline Synthesis using automata- based game theory. MoBvaBon, comparison with MC and LTL. Basics Terminology Reachability/Safety
Model Checking LTL Properties over C Programs with Bounded Traces
Noname manuscript No. (will be inserted by the editor) Model Checking LTL Properties over C Programs with Bounded Traces Jeremy Morse 1, Lucas Cordeiro 2, Denis Nicole 1, Bernd Fischer 1,3 1 Electronics
Fabio Patrizi DIS Sapienza - University of Rome
Fabio Patrizi DIS Sapienza - University of Rome Overview Introduction to Services The Composition Problem Two frameworks for composition: Non data-aware services Data-aware services Conclusion & Research
Software Verification and Testing. Lecture Notes: Temporal Logics
Software Verification and Testing Lecture Notes: Temporal Logics Motivation traditional programs (whether terminating or non-terminating) can be modelled as relations are analysed wrt their input/output
ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:
ω-automata ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: in verification, as encodings of non-terminating executions of a program. in arithmetic,
Software Reliability: Runtime Verification
Software Reliability: Runtime Verification Martin Leucker and the whole ISP team Institute for Software Engineering Universität zu Lübeck Riga, 21.07. 04.08.14 Martin Leucker Basoti, 2014 1/117 Runtime
Introduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
The Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
Model Checking of Software
Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving
Software Model Checking: Theory and Practice
Software Model Checking: Theory and Practice Lecture: Secification Checking - Temoral Logic Coyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are coyrighted
Analysis of Boolean Programs
Analysis of Boolean Programs Patrice Godefroid 1 Mihalis Yannakakis 2 1 Microsoft Research, [email protected] 2 Columbia University, [email protected] Abstract. Boolean programs are a popular abstract
Runtime Verification for Real-Time Automotive Embedded Software
Runtime Verification for Real-Time Automotive Embedded Software S. Cotard, S. Faucou, J.-L. Béchennec, A. Queudet, Y. Trinquet 10th school of Modelling and Verifying Parallel processes (MOVEP) Runtime
Verification of hybrid dynamical systems
Verification of hybrid dynamical systems Jüri Vain Tallinn Technical University/Institute of Cybernetics [email protected] Outline What are Hybrid Systems? Hybrid automata Verification of hybrid systems Verification
Validated Templates for Specification of Complex LTL Formulas
Validated Templates for Specification of Complex LTL Formulas Salamah Salamah Department of Electrical, computer, Software, and Systems Engineering Embry Riddle Aeronautical University 600 S. Clyde Morris
Monitoring Metric First-order Temporal Properties
Monitoring Metric First-order Temporal Properties DAVID BASIN, FELIX KLAEDTKE, SAMUEL MÜLLER, and EUGEN ZĂLINESCU, ETH Zurich Runtime monitoring is a general approach to verifying system properties at
How To Compare A Markov Algorithm To A Turing Machine
Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also
Constructing Automata from Temporal Logic Formulas : A Tutorial
Constructing Automata from Temporal Logic Formulas : A Tutorial Pierre Wolper Université de Liège, Institut Montefiore, B28, 4000 Liège, Belgium [email protected], http://www.montefiore.ulg.ac.be/~pw/
Verifying Real-Time Embedded Software by Means of Automated State-based Online Testing and the SPIN Model Checker Application to RTEdge Models
Verifying Real-Time Embedded Software by Means of Automated State-based Online Testing and the SPIN Model Checker Application to RTEdge Models A thesis submitted to the Faculty of Graduate and Postdoctoral
Feature Specification and Automated Conflict Detection
Feature Specification and Automated Conflict Detection AMY P. FELTY University of Ottawa and KEDAR S. NAMJOSHI Bell Laboratories Large software systems, especially in the telecommunications field, are
Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi
Automata Theory Automata theory is the study of abstract computing devices. A. M. Turing studied an abstract machine that had all the capabilities of today s computers. Turing s goal was to describe the
A Classification of Model Checking-based Verification Approaches for Software Models
A Classification of Model Checking-based Verification Approaches for Software Models Petra Brosch, Sebastian Gabmeyer, Martina Seidl Sebastian Gabmeyer Business Informatics Group Institute of Software
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Path Querying on Graph Databases
Path Querying on Graph Databases Jelle Hellings Hasselt University and transnational University of Limburg 1/38 Overview Graph Databases Motivation Walk Logic Relations with FO and MSO Relations with CTL
Informatique Fondamentale IMA S8
Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ [email protected] Université Lille 1 - Polytech Lille
An Overview of the Runtime Verification Tool Java PathExplorer
An Overview of the Runtime Verification Tool Java PathExplorer Klaus Havelund Kestrel Technology NASA Ames Research Center California, USA http://ase.arc.nasa.gov/havelund Grigore Roşu Department of Computer
Fixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
The Ultimate Undecidability Result for the Halpern Shoham Logic
The Ultimate Undecidability Result for the Halpern Shoham Logic Jerzy Marcinkowski, Jakub Michaliszyn Institute of Computer Science University Of Wrocław {jma,jmi}@cs.uni.wroc.pl Abstract The Halpern Shoham
A Continuous Truth Domain for Runtime Verification
Institut für Formale Methoden der Informatik Abteilung Theoretische Informatik Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Laboratoire Spécification et Vérification École Normale Supérieure
CS510 Software Engineering
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
Formal Verification of Computer Systems - (INFO-F-412)
Formal Verification of Computer Systems - (INFO-F-412) Thierry Massart Université Libre de Bruxelles Département d Informatique February 2013 Acknowledgment I want to thank Edmund Clarke, Keijo Heljanko,
A Propositional Dynamic Logic for CCS Programs
A Propositional Dynamic Logic for CCS Programs Mario R. F. Benevides and L. Menasché Schechter {mario,luis}@cos.ufrj.br Abstract This work presents a Propositional Dynamic Logic in which the programs are
ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS
PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information
2. The Language of First-order Logic
2. The Language of First-order Logic KR & R Brachman & Levesque 2005 17 Declarative language Before building system before there can be learning, reasoning, planning, explanation... need to be able to
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)
Institut für Parallele und Verteilte Systeme. Abteilung Anwendersoftware. Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart
Institut für Parallele und Verteilte Systeme Abteilung Anwendersoftware Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Diplomarbeit Nr. 3243 Development and Evaluation of a Framework for
From Workflow Design Patterns to Logical Specifications
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software
CISC422/853: Formal Methods
Outline CISC422/853: Formal Methods in Software Engineering: Computer-Aided Verification Topic 7: Specifying, or How to Describe How the System Should (or Should Not) Behave Juergen Dingel Feb, 2009 Readings:
Foundational Proof Certificates
An application of proof theory to computer science INRIA-Saclay & LIX, École Polytechnique CUSO Winter School, Proof and Computation 30 January 2013 Can we standardize, communicate, and trust formal proofs?
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical
Logic in general. Inference rules and theorem proving
Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent
EQUATIONAL LOGIC AND ABSTRACT ALGEBRA * ABSTRACT
EQUATIONAL LOGIC AND ABSTRACT ALGEBRA * Taje I. Ramsamujh Florida International University Mathematics Department ABSTRACT Equational logic is a formalization of the deductive methods encountered in studying
Theoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy
Dept. of Computer Science Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy Matteo Camilli [email protected] http://camilli.di.unimi.it ICSE 2014 Hyderabad, India June 3,
Lecture 2: Universality
CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal
Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology
Honors Class (Foundations of) Informatics Tom Verhoeff Department of Mathematics & Computer Science Software Engineering & Technology www.win.tue.nl/~wstomv/edu/hci c 2011, T. Verhoeff @ TUE.NL 1/20 Information
Reachability in Succinct and Parametric One-Counter Automata
Reachability in Succinct and Parametric One-Counter Automata Christoph Haase, Stephan Kreutzer, Joël Ouaknine, and James Worrell Oxford University Computing Laboratory, UK {chrh,kreutzer,joel,jbw}@comlab.ox.ac.uk
Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation)
Summary Summary Last Lecture sequent calculus Automated Reasoning Georg Moser Institute of Computer Science @ UIBK Winter 013 (Normalisation and Strong Normalisation) let Π be a proof in minimal logic
A first step towards modeling semistructured data in hybrid multimodal logic
A first step towards modeling semistructured data in hybrid multimodal logic Nicole Bidoit * Serenella Cerrito ** Virginie Thion * * LRI UMR CNRS 8623, Université Paris 11, Centre d Orsay. ** LaMI UMR
CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing
CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate
CSE 135: Introduction to Theory of Computation Decidability and Recognizability
CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing
Lecture 9 verifying temporal logic
Basics of advanced software systems Lecture 9 verifying temporal logic formulae with SPIN 21/01/2013 1 Outline for today 1. Introduction: motivations for formal methods, use in industry 2. Developing models
MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis
LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,
