Automatic Verification of Parameterized Data Structures
|
|
- Chrystal Clarke
- 5 years ago
- Views:
Transcription
1 Automatic Verification of Parameterized Data Structures Jyotirmoy V. Deshmukh, E. Allen Emerson and Prateek Gupta The University of Texas at Austin The University of Texas at Austin 1
2 Outline Motivation Preliminaries Solution strategy Programming language Compiling into automata Efficiency Related work and conclusions The University of Texas at Austin 2
3 Motivation Preliminaries Solution strategy Programming language Compiling into automata Efficiency Related work and conclusions The University of Texas at Austin 3
4 Motivation Motivation Data structures: basic building blocks of software systems. Methods: programs operating on data structures. Traditional approach: check correctness up to bounded size. Parameterized verification: correctness for arbitrarily large sizes. Parameterized verification faces several difficulties! The University of Texas at Austin 4
5 Motivation Verifying programs operating on data structures Data structures: may have arbitrarily large sizes. may use pointers that range over arbitrarily large address space. may use data values that range over unbounded domains. Parameterized correctness is generally undecidable. Decidable classes of programs face severe combinatorial explosion. The University of Texas at Austin 5
6 Motivation Potential Applications Verification of data structure libraries in C++, Java. File system manipulation routines. Memory management algorithms, e.g. garbage collection. Algorithms in SoC designs. The University of Texas at Austin 6
7 Motivation Preliminaries Solution strategy Programming language Compiling into automata Efficiency Related work and conclusions The University of Texas at Austin 7
8 Preliminaries Correspondence between a data structure and a graph root a b c a root(g) b d c null null null null null d Data Structure Corresponding Graph The University of Texas at Austin 8
9 Preliminaries Problem Definition Given: MethodM : operates on input graph G i to produce output graph G o =M (G i ). Property ϕ: some predicate on graphs. Parameterized correctness: For any arbitrarily large G i, determine if: ϕ(g i ) M ϕ(g o ) The University of Texas at Austin 9
10 Preliminaries Review: Tree automata The University of Texas at Austin 10
11 Preliminaries Example: Nondeterministic tree automaton for reachability (EF b) Σ = {a,b,c,d} Q = {q,q f } q 0 = q Φ : {c(q) = red(1),c(q f ) = green(2)} q 0 1 a,c,d a,c,d b q f 0 a,b,c, d 1 0 a,b,c, d Transition diagram for δ 1 The University of Texas at Austin 11
12 Preliminaries Example: accepting run ofa reach (EF b) a a c a b d a The University of Texas at Austin 12
13 Preliminaries Example: accepting run ofa reach (EF b) a q a c a b d a The University of Texas at Austin 13
14 Preliminaries Example: accepting run ofa reach (EF b) a q a q c q f a b d a The University of Texas at Austin 14
15 Preliminaries Example: accepting run ofa reach (EF b) a q a q c q f q f a b q q f q f d a The University of Texas at Austin 15
16 Preliminaries Example: accepting run ofa reach (EF b) a q a q c q f q f a b q q f q f d q f q f q f a q f q f q f The University of Texas at Austin 16
17 Preliminaries Definition: Destructive pass Pass: Traversal of graph visiting each node at most once. Destructive update: Modification of the input graph. e.g. Adding a node, Deleting a node, Changing a link, Changing a value, etc. Destructive pass: pass that performs at least one destructive update. The University of Texas at Austin 17
18 Preliminaries Stipulations Methods: must terminate. should perform only a bounded number of destructive passes over the graph. should be iterative (no recursion). Domain of data values should be finite. Input graphs have varying, but bounded branching. The University of Texas at Austin 18
19 Preliminaries Example methods Insertion/Deletion of nodes in linked lists (linear/circular), Insertion/Deletion of nodes in k-ary trees, Iterative modification of nodes in general graphs, Reversal of linked lists, Swapping nodes within a bounded distance. The University of Texas at Austin 19
20 Preliminaries Property specification Properties specified as non-deterministic tree automata. A ϕ anda ϕ called property automata. Examples include: Acyclicity, Sortedness, Reachability, Treeness, Listness, etc. The University of Texas at Austin 20
21 Preliminaries Example: checking acyclicity in a binary graph A cy = {Σ,{q,q f },q,δ,{c(q) = red(1),c(q f ) = green(2)}} q 0 σ null 1 null 0 1 q f 0 1 σ Transition diagram for A cy The University of Texas at Austin 21
22 Motivation Preliminaries Solution strategy Programming language Compiling into automata Efficiency Related work and conclusions The University of Texas at Austin 22
23 Solution strategy Modeling the method MethodM modeled using tree automatona M. (G i,g o ) represented as composite graph G c. A M accepts all graphs G c that represent valid I/O behavior ofm. The University of Texas at Austin 23
24 Solution strategy Input Graph: G i root n 1 n 2 n 3 (d (d 2, d 1, d 1) 2) (d 3, d 3) Original node/edge Added node/edge Deleted node/edge The University of Texas at Austin 24
25 Solution strategy Output Graph: G o root n 1 n 3 (d 1, d 1) (d 3, d 3) n new (d new, d new ) Original node/edge Added node/edge Deleted node/edge The University of Texas at Austin 25
26 Solution strategy Composite Graph root n 1 n 2 n 3 (d (d 2, d 1, d 1) 2) (d 3, d 3) n new (d new, d new ) Original node/edge Added node/edge Deleted node/edge The University of Texas at Austin 26
27 Solution strategy Composite automaton Given:A ϕ,a ϕ anda M. Construct: Composite automatona c. A c : (synchronous) product ofa ϕ,a M anda ϕ. A c accepts G c, iff: A M accepts G c, A ϕ accepts G i (input part), and A ϕ accepts G o (output part). The University of Texas at Austin 27
28 Solution strategy Reduction to language emptiness A c accepts exactly those graphs that witness a failure ofm. M is correct iff language accepted bya c is empty. A c is empty implies parameterized correctness ofm. The University of Texas at Austin 28
29 Motivation Preliminaries Solution strategy Programming language Compiling into automata Efficiency Related work and conclusions The University of Texas at Austin 29
30 Programming language Node of a data structure Data Fields (data) next 1 next 2 next k The University of Texas at Austin 30
31 Programming language Programming language Methods equipped with an iterator called cursor. Bounded window (w): set of nodes within fixed distance from cursor. Auxiliary pointers: denote positions within w, relative to cursor. Types of statements: Assignment, Conditional and Loop statements. The University of Texas at Austin 31
32 Programming language Example method: Insertion in a singly linked list method InsertNode (value, newvalue){ 1: cursor := head; 2: while (cursor!= null) { [ncursor := cursor->next] 3: if (cursor->data == value) { 4: cursor->next := new node { data := newvalue; next := ncursor;}; 5: break; } 6: cursor := ncursor when true; } } The University of Texas at Austin 32
33 Motivation Preliminaries Solution strategy Programming language Compiling into automata Efficiency Related work and conclusions The University of Texas at Austin 33
34 Translation How doesa M emulatem? While operating on composite graph G c = (G i,g o ),A M : reads a new node n = (n i,n o ), changes state to mimic atomic updates to n i, checks if updated node matches n o, and if yes, moves to next node. The University of Texas at Austin 34
35 Translation FromM toa M : I A M starts in state q 0 and reads node (n i,n o ). State ofa M encodes updated value of n i. Statements that do not alter cursor position map to ε-moves. e.g. conditionals, loop body, assignments (except to cursor) The University of Texas at Austin 35
36 Translation FromM toa M : II For assignments that alter cursor position: check if current state matches n o, if yes, read new node, if no, transition to reject state. Transition to accept state after last statement inm. Add self-loops to reject and accept states. The University of Texas at Austin 36
37 Translation Example: Compilation of a while statement Enter loop; ψ is true Skip loop, ψ is false while (ψ) { loop body; (l.b.) update statement; } States encoding action of loop body l.b. acting on n i does not match n o! Read Next Node ψ holds true Exit loop; ψ is false stmt; States encoding action of stmt Reject! The University of Texas at Austin 37
38 Motivation Preliminaries Solution strategy Programming language Compiling into automata Examples Efficiency Related work and conclusions The University of Texas at Austin 38
39 Example method: Insertion in a singly linked list method InsertNode (value, newvalue){ 1: cursor := head; 2: while (cursor!= null) { [ncursor := cursor->next] 3: if (cursor->data == value) { 4: cursor->next := new node { data := newvalue; next := ncursor;}; 5: break; } 6: cursor := ncursor when true; } } The University of Texas at Austin 39
40 Example method automaton for insertnode q 0 Q 1 Q 2 Q ψ 2 Q ψ 2 Q 3 Q φ 3 R τ R τ R = Q φ 3 Q 4 Q τ 4 Q τ 4 node q rej Q 6 Q ψ 6 Q ψ 6 q acc The University of Texas at Austin 40
41 Example: An incorrect method method samplemethod { cursor->next := cursor; cursor->data := 10; } Does this method preserve acyclicity? The University of Texas at Austin 41
42 Constructing the composite automaton Method automaton q 0 c = 1 c = 2 Property automata β = (n null) conf orm Q 1 conf orm q β β q β β q acc q rej q f q f A M A ϕ A ϕ The University of Texas at Austin 42
43 Composite automaton is non-empty! Method automaton Property automata Witness to nonemptiness q 0 c = 1 c = 2 β = (n null) conf orm Q 1 conf orm q β β q β β n (d, d ) null q acc q rej q f q f A M A ϕ A ϕ The University of Texas at Austin 43
44 Motivation Preliminaries Solution strategy Programming language Compiling into automata Efficiency Related work and conclusions The University of Texas at Austin 44
45 Efficiency Efficiency A c : linear in A M, A ϕ and A ϕ. Size ofa M : O( M ). A M,A ϕ,a ϕ have small, fixed number of colors in parity condition. Non-emptiness: polynomial in A c. Overall complexity: polynomial in size of M and property automata. The University of Texas at Austin 45
46 Motivation Preliminaries Solution strategy Programming language Compiling into automata Efficiency Related work and conclusions The University of Texas at Austin 46
47 Related work Related work: I Pointer Assertion Logic Engine: [Møller, Schwartzbach, 2001] More general (uses MSOL), but complexity is non-elementary. Requires human ingenuity in providing loop invariants. Separation logic: [O Hearn, Reynolds, Yang, 2001] Deductive system with proof rules. Decidable fragment treats only linked lists. The University of Texas at Austin 47
48 Related work Related Work: II Shape analysis: [Sagiv, Reps, Wilhelm, 1999] Shape invariants represented using 3-valued logic. Broad scope, but inexact solutions. Transducer-based approach:[bouajjani et al, 2005] Abstraction refinement based approach. Limited to single successor data structures. The University of Texas at Austin 48
49 Conclusions Efficient algorithmic technique for verification of parameterized data structures. Reasoning about a large class of methods, examples include: Adding, deleting, inserting nodes in linked lists, binary search trees, swapping nodes within a bounded distance, reversing lists, etc. Properties such as: acyclicity, reachability, sortedness, treeness, listness, sharing etc. Complexity: polynomial in size of method and property specifications. The University of Texas at Austin 49
50 Thank You! The University of Texas at Austin 50
51 Tree automata A (parity) tree automatona has the form: (Σ,Q,δ,q 0,Φ), where: Σ is the input alphabet (nodes of the graph), Q is the finite non-empty set of states, δ : Q Σ 2 Qk is the non-deterministic transition relation, q 0 is the initial state, and Φ is the parity acceptance condition. The University of Texas at Austin 51
52 Run of a tree automatona Run: Annotation of input tree with states ofa. Accepting run: Run in which acceptance condition is true for all paths. Aaccepts tree T if there is some accepting run on T. Notion of run can be generalized to general graphs. The University of Texas at Austin 52
53 Parity acceptance condition States colored with colors {c 0,...,c m }. π is some finite/infinite sequence of states. π satisfies parity condition iff: maximal index of color appearing infinitely often is even. Remark: Our technique needs 2 colors in most cases. The University of Texas at Austin 53
54 Programming language: Syntax Assignment statement syntax: cursor->data := d; (Modify data value) cursor->next := ptr; (Redirect an edge) cursor := ptr; (Change cursor location) cursor := new node{data:=d;next 1 :=null;...}; (Add new node) cursor->next := new node {... }; (Add new node after cursor) Conditional statements: standard if-then-else construct test condition: data comparison, pointer comparison (within the window) The University of Texas at Austin 54
55 while (ψ) { loop body; update statement; } Loop statements Used for iterating through the data structure. Nesting of loops not permitted. cursor cannot be changed inside loop body. Update statement used to change cursor position. The University of Texas at Austin 55
Robustness Analysis of Networked Systems
Robustness Analysis of Networked Systems Roopsha Samanta The University of Texas at Austin Joint work with Jyotirmoy V. Deshmukh and Swarat Chaudhuri January, 0 Roopsha Samanta Robustness Analysis of Networked
More informationAutomata-based Verification - III
COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationClasses and conversions
Classes and conversions Regular expressions Syntax: r = ε a r r r + r r Semantics: The language L r of a regular expression r is inductively defined as follows: L =, L ε = {ε}, L a = a L r r = L r L r
More informationAutomata-based Verification - III
CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationAutomata, Logic and Games: Theory and Application
Automata, Logic and Games: Theory and Application 1. Büchi Automata and S1S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong Büchi Automata & S1S 14-19 June
More informationTemporal logics and explicit-state model checking. Pierre Wolper Université de Liège
Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and
More informationFrom Liveness to Promptness
From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every
More informationPart I: Definitions and Properties
Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States
More informationAn example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM
Turing Machines Review An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM Varieties of TMs Multi-Tape TMs Nondeterministic TMs String Enumerators
More informationDescribing Homing and Distinguishing Sequences for Nondeterministic Finite State Machines via Synchronizing Automata
Describing Homing and Distinguishing Sequences for Nondeterministic Finite State Machines via Synchronizing Automata Natalia Kushik and Nina Yevtushenko Tomsk State University, Russia 2 Motivation Relies
More informationNotes for Lecture Notes 2
Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More informationAutomata-Theoretic LTL Model-Checking
Automata-Theoretic LTL Model-Checking Arie Gurfinkel arie@cmu.edu SEI/CMU Automata-Theoretic LTL Model-Checking p.1 LTL - Linear Time Logic (Pn 77) Determines Patterns on Infinite Traces Atomic Propositions
More informationSanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi
More informationFurther discussion of Turing machines
Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will
More information1 Definition of a Turing machine
Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2017 April 10 24, 2017 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. May 11/13, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationThe algorithmic analysis of hybrid system
The algorithmic analysis of hybrid system Authors: R.Alur, C. Courcoubetis etc. Course teacher: Prof. Ugo Buy Xin Li, Huiyong Xiao Nov. 13, 2002 Summary What s a hybrid system? Definition of Hybrid Automaton
More informationAdvanced Automata Theory 10 Transducers and Rational Relations
Advanced Automata Theory 10 Transducers and Rational Relations Frank Stephan Department of Computer Science Department of Mathematics National University of Singapore fstephan@comp.nus.edu.sg Advanced
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationTheoretical Foundations of the UML
Theoretical Foundations of the UML Lecture 17+18: A Logic for MSCs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ws-1718/fuml/ 5.
More informationAutomata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,
Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) October, 19 2017 Part 5 out of 5 Last week was all about Context-Free Languages Context-Free
More information1 Computational Problems
Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More informationω-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,
More informationWeak Cost Monadic Logic over Infinite Trees
Weak Cost Monadic Logic over Infinite Trees Michael Vanden Boom Department of Computer Science University of Oxford MFCS 011 Warsaw Cost monadic second-order logic (cost MSO) Syntax First-order logic with
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Nachum Dershowitz & Yishay Mansour. Tel Aviv University. May 17 22, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationA tableau-based decision procedure for a branching-time interval temporal logic
A tableau-based decision procedure for a branching-time interval temporal logic Davide Bresolin Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine {bresolin, montana}@dimi.uniud.it
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 informationChapter 5. Finite Automata
Chapter 5 Finite Automata 5.1 Finite State Automata Capable of recognizing numerous symbol patterns, the class of regular languages Suitable for pattern-recognition type applications, such as the lexical
More informationChapter 3 Deterministic planning
Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions
More informationThe 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 informationLecturecise 22 Weak monadic second-order theory of one successor (WS1S)
Lecturecise 22 Weak monadic second-order theory of one successor (WS1S) 2013 Reachability in the Heap Many programs manipulate linked data structures (lists, trees). To express many important properties
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. April 18/ May 2, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationComputability and Complexity
Computability and Complexity Lecture 5 Reductions Undecidable problems from language theory Linear bounded automata given by Jiri Srba Lecture 5 Computability and Complexity 1/14 Reduction Informal Definition
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 informationPrime Languages, Orna Kupferman, Jonathan Mosheiff. School of Engineering and Computer Science The Hebrew University, Jerusalem, Israel
Prime Languages, Orna Kupferman, Jonathan Mosheiff School of Engineering and Computer Science The Hebrew University, Jerusalem, Israel Abstract We say that a deterministic finite automaton (DFA) A is composite
More informationTemporal Logic Model Checking
18 Feb, 2009 Thomas Wahl, Oxford University Temporal Logic Model Checking 1 Temporal Logic Model Checking Thomas Wahl Computing Laboratory, Oxford University 18 Feb, 2009 Thomas Wahl, Oxford University
More informationAn example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM
Turing Machines Review An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM Varieties of TMs Multi-Tape TMs Nondeterministic TMs String Enumerators
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 informationWhat You Must Remember When Processing Data Words
What You Must Remember When Processing Data Words Michael Benedikt, Clemens Ley, and Gabriele Puppis Oxford University Computing Laboratory, Park Rd, Oxford OX13QD UK Abstract. We provide a Myhill-Nerode-like
More informationAdvanced Automata Theory 7 Automatic Functions
Advanced Automata Theory 7 Automatic Functions Frank Stephan Department of Computer Science Department of Mathematics National University of Singapore fstephan@comp.nus.edu.sg Advanced Automata Theory
More informationCPSC 421: Tutorial #1
CPSC 421: Tutorial #1 October 14, 2016 Set Theory. 1. Let A be an arbitrary set, and let B = {x A : x / x}. That is, B contains all sets in A that do not contain themselves: For all y, ( ) y B if and only
More informationUNIT-VIII COMPUTABILITY THEORY
CONTEXT SENSITIVE LANGUAGE UNIT-VIII COMPUTABILITY THEORY A Context Sensitive Grammar is a 4-tuple, G = (N, Σ P, S) where: N Set of non terminal symbols Σ Set of terminal symbols S Start symbol of the
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 informationProving Inter-Program Properties
Unité Mixte de Recherche 5104 CNRS - INPG - UJF Centre Equation 2, avenue de VIGNATE F-38610 GIERES tel : +33 456 52 03 40 fax : +33 456 52 03 50 http://www-verimag.imag.fr Proving Inter-Program Properties
More informationHoare Logic (I): Axiomatic Semantics and Program Correctness
Hoare Logic (I): Axiomatic Semantics and Program Correctness (Based on [Apt and Olderog 1991; Gries 1981; Hoare 1969; Kleymann 1999; Sethi 199]) Yih-Kuen Tsay Dept. of Information Management National Taiwan
More informationTheory of Computation
Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 3: Finite State Automata Motivation In the previous lecture we learned how to formalize
More informationAutomata, Logic and Games: Theory and Application
Automata, Logic and Games: Theory and Application 2 Parity Games, Tree Automata, and S2S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong S2S 14-19 June
More informationEDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach
EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types
More informationAn Alternative Construction in Symbolic Reachability Analysis of Second Order Pushdown Systems
An Alternative Construction in Symbolic Reachability Analysis of Second Order Pushdown Systems Anil Seth CSE Department, I.I.T. Kanpur, Kanpur 208016, INDIA. seth@cse.iitk.ac.in Abstract. Recently, it
More informationSynthesis from Probabilistic Components
Synthesis from Probabilistic Components Yoad Lustig, Sumit Nain, and Moshe Y. Vardi Department of Computer Science Rice University, Houston, TX 77005, USA yoad.lustig@gmail.com, nain@cs.rice.edu, vardi@cs.rice.edu
More informationOutline. Complexity Theory. Example. Sketch of a log-space TM for palindromes. Log-space computations. Example VU , SS 2018
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 3. Logarithmic Space Reinhard Pichler Institute of Logic and Computation DBAI Group TU Wien 3. Logarithmic Space 3.1 Computational
More informationEECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: Automata, State machines, Circuits Stavros Tripakis University of California, Berkeley Stavros
More informationIntroduction to Theory of Computing
CSCI 2670, Fall 2012 Introduction to Theory of Computing Department of Computer Science University of Georgia Athens, GA 30602 Instructor: Liming Cai www.cs.uga.edu/ cai 0 Lecture Note 3 Context-Free Languages
More informationFinite Universes. L is a fixed-length language if it has length n for some
Finite Universes Finite Universes When the universe is finite (e.g., the interval 0, 2 1 ), all objects can be encoded by words of the same length. A language L has length n 0 if L =, or every word of
More informationFirst-order resolution for CTL
First-order resolution for Lan Zhang, Ullrich Hustadt and Clare Dixon Department of Computer Science, University of Liverpool Liverpool, L69 3BX, UK {Lan.Zhang, U.Hustadt, CLDixon}@liverpool.ac.uk Abstract
More informationCS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics
CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,
More informationTWO-VARIABLE LOGIC WITH COUNTING AND A LINEAR ORDER
Logical Methods in Computer Science Vol. 12(2:8)2016, pp. 1 31 www.lmcs-online.org Submitted Nov. 2, 2015 Published Jun. 23, 2016 TWO-VARIABLE LOGIC WITH COUNTING AND A LINEAR ORDER WITOLD CHARATONIK AND
More informationVariable Automata over Infinite Alphabets
Variable Automata over Infinite Alphabets Orna Grumberg a, Orna Kupferman b, Sarai Sheinvald b a Department of Computer Science, The Technion, Haifa 32000, Israel b School of Computer Science and Engineering,
More informationSemi-Automatic Distributed Synthesis
Semi-Automatic Distributed Synthesis Bernd Finkbeiner and Sven Schewe Universität des Saarlandes, 66123 Saarbrücken, Germany {finkbeiner schewe}@cs.uni-sb.de Abstract. We propose a sound and complete compositional
More informationCSCE 551: Chin-Tser Huang. University of South Carolina
CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Computation History A computation history of a TM M is a sequence of its configurations C 1, C 2,, C l such
More informationComplexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes
Complexity Theory 1 Complexity Theory 2 Complexity Theory Lecture 3 Complexity For any function f : IN IN, we say that a language L is in TIME(f(n)) if there is a machine M = (Q, Σ, s, δ), such that: L
More informationBounded Synthesis. Sven Schewe and Bernd Finkbeiner. Universität des Saarlandes, Saarbrücken, Germany
Bounded Synthesis Sven Schewe and Bernd Finkbeiner Universität des Saarlandes, 66123 Saarbrücken, Germany Abstract. The bounded synthesis problem is to construct an implementation that satisfies a given
More informationOverview of Topics. Finite Model Theory. Finite Model Theory. Connections to Database Theory. Qing Wang
Overview of Topics Finite Model Theory Part 1: Introduction 1 What is finite model theory? 2 Connections to some areas in CS Qing Wang qing.wang@anu.edu.au Database theory Complexity theory 3 Basic definitions
More informationCompositional Entailment Checking for a Fragment of Separation Logic
Compositional Entailment Checking for a Fragment of Separation Logic Constantin Enea 1, Ondřej Lengál 2, Mihaela Sighireanu 1, and Tomáš Vojnar 2 1 Univ. Paris Diderot, LIAFA CNRS UMR 7089 2 FIT, Brno
More informationCompilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam
Compilers Lecture 3 Lexical analysis Yannis Smaragdakis, U. Athens (original slides by Sam Guyer@Tufts) Big picture Source code Front End IR Back End Machine code Errors Front end responsibilities Check
More informationLogic and Automata I. Wolfgang Thomas. EATCS School, Telc, July 2014
Logic and Automata I EATCS School, Telc, July 2014 The Plan We present automata theory as a tool to make logic effective. Four parts: 1. Some history 2. Automata on infinite words First step: MSO-logic
More informationPartially Ordered Two-way Büchi Automata
Partially Ordered Two-way Büchi Automata Manfred Kufleitner Alexander Lauser FMI, Universität Stuttgart, Germany {kufleitner, lauser}@fmi.uni-stuttgart.de June 14, 2010 Abstract We introduce partially
More informationThe theory of regular cost functions.
The theory of regular cost functions. Denis Kuperberg PhD under supervision of Thomas Colcombet Hebrew University of Jerusalem ERC Workshop on Quantitative Formal Methods Jerusalem, 10-05-2013 1 / 30 Introduction
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 informationTransition Predicate Abstraction and Fair Termination
Transition Predicate Abstraction and Fair Termination ANDREAS PODELSKI Max-Planck-Institut für Informatik, Saarbrücken and ANDREY RYBALCHENKO Ecole Polytechnique Fédérale de Lausanne Max-Planck-Institut
More informationCS 6110 S16 Lecture 33 Testing Equirecursive Equality 27 April 2016
CS 6110 S16 Lecture 33 Testing Equirecursive Equality 27 April 2016 1 Equirecursive Equality In the equirecursive view of recursive types, types are regular labeled trees, possibly infinite. However, we
More informationan efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.
1 More on NP In this set of lecture notes, we examine the class NP in more detail. We give a characterization of NP which justifies the guess and verify paradigm, and study the complexity of solving search
More informationModel Checking & Program Analysis
Model Checking & Program Analysis Markus Müller-Olm Dortmund University Overview Introduction Model Checking Flow Analysis Some Links between MC and FA Conclusion Apology for not giving proper credit to
More information6.045J/18.400J: Automata, Computability and Complexity. Quiz 2. March 30, Please write your name in the upper corner of each page.
6.045J/18.400J: Automata, Computability and Complexity March 30, 2005 Quiz 2 Prof. Nancy Lynch Please write your name in the upper corner of each page. Problem Score 1 2 3 4 5 6 Total Q2-1 Problem 1: True
More informationTimed Automata VINO 2011
Timed Automata VINO 2011 VeriDis Group - LORIA July 18, 2011 Content 1 Introduction 2 Timed Automata 3 Networks of timed automata Motivation Formalism for modeling and verification of real-time systems.
More informationHalting and Equivalence of Schemes over Recursive Theories
Halting and Equivalence of Schemes over Recursive Theories Dexter Kozen Computer Science Department, Cornell University, Ithaca, New York 14853-7501, USA Abstract Let Σ be a fixed first-order signature.
More informationIntroduction to Languages and Computation
Introduction to Languages and Computation George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 400 George Voutsadakis (LSSU) Languages and Computation July 2014
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationSynthesis weakness of standard approach. Rational Synthesis
1 Synthesis weakness of standard approach Rational Synthesis 3 Overview Introduction to formal verification Reactive systems Verification Synthesis Introduction to Formal Verification of Reactive Systems
More informationComplexity Results for Deciding Networks of Evolutionary Processors 1
Complexity Results for Deciding Networks of Evolutionary Processors 1 Florin Manea Institut für Informatik, Christian-Albrechts-Universität zu Kiel, D-24098 Kiel, Germany, and Faculty of Mathematics and
More information1 The decision problem for First order logic
Math 260A Mathematical Logic Scribe Notes UCSD Winter Quarter 2012 Instructor: Sam Buss Notes by: James Aisenberg April 27th 1 The decision problem for First order logic Fix a finite language L. Define
More informationDesign of Distributed Systems Melinda Tóth, Zoltán Horváth
Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052
More informationLanguages, logics and automata
Languages, logics and automata Anca Muscholl LaBRI, Bordeaux, France EWM summer school, Leiden 2011 1 / 89 Before all that.. Sonia Kowalewskaya Emmy Noether Julia Robinson All this attention has been gratifying
More information3-Valued Abstraction-Refinement
3-Valued Abstraction-Refinement Sharon Shoham Academic College of Tel-Aviv Yaffo 1 Model Checking An efficient procedure that receives: A finite-state model describing a system A temporal logic formula
More informationTIMED automata, introduced by Alur and Dill in [3], have
1 Language Inclusion Checking of Timed Automata with Non-Zenoness Xinyu Wang, Jun Sun, Ting Wang, and Shengchao Qin Abstract Given a timed automaton P modeling an implementation and a timed automaton S
More informationLecture Notes on Inductive Definitions
Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 September 2, 2004 These supplementary notes review the notion of an inductive definition and
More informationCP405 Theory of Computation
CP405 Theory of Computation BB(3) q 0 q 1 q 2 0 q 1 1R q 2 0R q 2 1L 1 H1R q 1 1R q 0 1L Growing Fast BB(3) = 6 BB(4) = 13 BB(5) = 4098 BB(6) = 3.515 x 10 18267 (known) (known) (possible) (possible) Language:
More informationLecture 20: conp and Friends, Oracles in Complexity Theory
6.045 Lecture 20: conp and Friends, Oracles in Complexity Theory 1 Definition: conp = { L L NP } What does a conp computation look like? In NP algorithms, we can use a guess instruction in pseudocode:
More informationONR MURI AIRFOILS: Animal Inspired Robust Flight with Outer and Inner Loop Strategies. Calin Belta
ONR MURI AIRFOILS: Animal Inspired Robust Flight with Outer and Inner Loop Strategies Provable safety for animal inspired agile flight Calin Belta Hybrid and Networked Systems (HyNeSs) Lab Department of
More informationFlat counter automata almost everywhere!
Flat counter automata almost everywhere! Jérôme Leroux and Grégoire Sutre Projet Vertecs, IRISA / INRIA Rennes, FRANCE Équipe MVTsi, CNRS / LABRI, FRANCE Counter-automata verification A simple counter-automata:
More informationLinear-time Temporal Logic
Linear-time Temporal Logic Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2015/2016 P. Cabalar ( Department Linear oftemporal Computer Logic Science University
More informationChapter 2: Finite Automata
Chapter 2: Finite Automata 2.1 States, State Diagrams, and Transitions Finite automaton is the simplest acceptor or recognizer for language specification. It is also the simplest model of a computer. A
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTATION
FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described
More informationIntroduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either
Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action
More informationComputer-Aided Program Design
Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,
More informationCISC4090: Theory of Computation
CISC4090: Theory of Computation Chapter 2 Context-Free Languages Courtesy of Prof. Arthur G. Werschulz Fordham University Department of Computer and Information Sciences Spring, 2014 Overview In Chapter
More informationTuring Machines Part III
Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's
More informationNested Interpolants. Matthias Heizmann Jochen Hoenicke Andreas Podelski. Abstract. 1. Introduction. University of Freiburg, Germany
c ACM 2010. This is the author s version of the work. t is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Principles of Programming
More informationBinary 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 informationLecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz
Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 4 1 Circuit Complexity Circuits are directed, acyclic graphs where nodes are called gates and edges are called
More information