Widening Automata.

Slides:



Advertisements
Similar presentations
NFAε - NFA - DFA equivalence
Advertisements

Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
1 CIS 461 Compiler Design and Construction Fall 2012 slides derived from Tevfik Bultan et al. Lecture-Module 5 More Lexical Analysis.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
YES-NO machines Finite State Automata as language recognizers.
Determinization of Büchi Automata
1 Module 20 NFA’s with -transitions –NFA- ’s Formal definition Simplifies construction –LNFA- –Showing LNFA  is a subset of LNFA (extra credit) and therefore.
Pushdown Systems Koushik Sen EECS, UC Berkeley Slide Source: Sanjit A. Seshia.
CS 355 – Programming Languages
Chapter Two: Finite Automata
Finite Automata Section 1.1 CSC 4170 Theory of Computation.
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Regular.
Reachability Analysis for Some Models of Infinite-State Transition Systems Oscar H. Ibarra, Tevfik Bultan, and Jianwen Su Department of Computer Science.
Lecture 18 NFA’s with -transitions –NFA- ’s Formal definition Simplifies construction –LNFA- –Showing LNFA  is a subset of LNFA and therefore a subset.
CS5371 Theory of Computation Lecture 6: Automata Theory IV (Regular Expression = NFA = DFA)
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
Theory of Computing Lecture 22 MAS 714 Hartmut Klauck.
Dept. of Computer Science & IT, FUUAST Automata Theory 2 Automata Theory II B Q.For  = {a, b} construct DFA that accepts all strings with exactly one.
Prof. Busch - LSU1 Pushdown Automata PDAs. Prof. Busch - LSU2 Pushdown Automaton -- PDA Input String Stack States.
Great Theoretical Ideas in Computer Science.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
CSCI 2670 Introduction to Theory of Computing September 21, 2005.
NFA ε - NFA - DFA equivalence. What is an NFA An NFA is an automaton that its states might have none, one or more outgoing arrows under a specific symbol.
Theory of Languages and Automata
Week 14 - Wednesday.  What did we talk about last time?  Regular expressions  Introduction to finite state automata.
Copyright , Doron Peled and Cesare Tinelli. These notes are based on a set of lecture notes originally developed by Doron Peled at the University.
Chapter 5: Sequences, Mathematical Induction, and Recursion 5.5 Application: Correctness of Algorithms 1 [P]rogramming reliability – must be an activity.
Complexity and Computability Theory I Lecture #2 Rina Zviel-Girshin Leah Epstein Winter
Complexity and Computability Theory I Lecture #8 Instructor: Rina Zviel-Girshin Lea Epstein.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
PushDown Automata. What is a stack? A stack is a Last In First Out data structure where I only have access to the last element inserted in the stack.
The decidability of Presburger Arithmetic By Guillermo Guillen 04/13/05 Dr. Smith COT 6421 FIU Spring 2005.
Given a string manipulating program, string analysis determines all possible values that a string expression can take during any program execution Using.
Relational String Verification Using Multi-track Automata.
Complexity and Computability Theory I Lecture #5 Rina Zviel-Girshin Leah Epstein Winter
Theory of Computation Automata Theory Dr. Ayman Srour.
Recap: Nondeterministic Finite Automaton (NFA) A deterministic finite automaton (NFA) is a 5-tuple (Q, , ,s,F) where: Q is a finite set of elements called.
Lecture Three: Finite Automata Finite Automata, Lecture 3, slide 1 Amjad Ali.
Fixpoints and Reachability
Pushdown Automata PDAs
Automata Based String Analysis for Vulnerability Detection
Arithmetic Constraints and Automata
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Non-Determinism 12CS45 Finite Automata.
Chapter Two: Finite Automata
CSE322 CONSTRUCTION OF FINITE AUTOMATA EQUIVALENT TO REGULAR EXPRESSION Lecture #9.
Nondeterministic Finite Automata
Context-Free Grammars
DFA Equivalence & Minimization
CSE 2001: Introduction to Theory of Computation Fall 2009
CSE322 Minimization of finite Automaton & REGULAR LANGUAGES
CSCI 2670 Introduction to Theory of Computing
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Chapter 1 Regular Language
CSC 4170 Theory of Computation Finite Automata Section 1.1.
CSCI 2670 Introduction to Theory of Computing
Languages Given an alphabet , we can make a word or string by concatenating the letters of . Concatenation of “x” and “y” is “xy” Typical example: ={0,1},
Course: CS60030 FORMAL SYSTEMS
Teori Bahasa dan Automata Lecture 6: Regular Expression
CHAPTER 1 Regular Languages
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Non Deterministic Automata
What is it? The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled.
Presentation transcript:

Widening Automata

Verification of assertions Forward fixpoint computation Set of initial states I Postcondition function Post() Error states I . . . Post(I) ? Post(Post(I)) E

Verification of assertions Backward fixpoint computation Set of initial states I Precondition function Pre() Error states E E . . . Pre(E) ? Pre(Pre(E)) I

Fixpoints may not converge For infinite state systems fixpoint computations may not converge at all require a large number of iterations Widening is a approximation technique that helps a fixpoint computation converge

A widening operator Idea: Instead of computing a sequence of automata A1, A2, … where Ai+1=Aipost(Ai), compute A’1, A’2, … where A‘i+1=A’i(A’ipost(A’i)) By definition AB  AB The goal is to find a widening operator  such that: The sequence A’1, A’2, … converges It converges fast The computed fixpoint is as close as possible to the exact set of reachable states

Widening Automata Given automata A and A’ we want to compute AA’ We say that states k and k’ are equivalent (kk’) if either k and k’ can be reached from either initial state with the same string (unless k or k’ is a sink state) or, the languages accepted from k and k’ are equal or, for some state k’’, kk’’ and k’k’’ The states of AA’ are the equivalence classes of 

Example 0 1 0,1 X 1 0 0,1 1 1 1 3 0 1 0,1 1 0 0,1 0 X 0,1 1 1 X 3 1 2 1 2 0 1 0,1 3 1

Example 0 1 0,1 0 1 0,1 X 1 0 0,1 0 X 0,1 1 X 1 0 0,1 1 3 1 1 2 0 1 0,1 1 0 X 0,1 1 X = 1 0 1 0,1 0,1 2 3 1

Example 0, X 1 1 X 1 0 1 0,1 2 1 2 1 1 1 3 2 4 0 X 0,1 X 1 1 1 X 2 1 0 1 0,1 3 4 1 2 1 3 1 1 1 4 X

Example 0 X 0,1 0, X 1 1 X 1 X X 1 1 2 1 0 1 0,1 0 1 0,1 1 2 3 4 1 1 1 1 1 1 X 0 X 0,1 X 1 0,0 = 1 0,2 1,3 1

An exactness result (some definitions) An automaton (Q,,,q0,F) is called state-disjoint if for all qiqjQ, L(qi)L(qj)= An automaton (Q1,,1,q01,F1) is called weakly equivalent to (Q2,,2,q02,F2) iff there exists f: Q1 Q2, such that: f(q01)=q02 f(1(q,))=2(f(q), ) for all qQ1 and  f(q) F2 for all q F1

An exactness result If then a least fixpoint is represented by a state-disjoint automaton A and, the first automaton As in the approximate sequence is weakly equivalent to A then the approximate sequence converges to the exact least fixpoint