Regular Model Checking Made Simple and Efficient P. Abdulla, B. Jonsson, M. Nilsson and J. d’Orso Uppsala University.

Slides:



Advertisements
Similar presentations
Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer.
Advertisements

Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Regular Expressions Finite State Automaton. Programming Languages2 Regular expressions  Terminology on Formal languages: –alphabet : a finite set of.
Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso.
Efficient Divide-and- Conquer Simulations Of Symmetric FSAs David Pritchard, University of Waterloo Aug. 29 '07 Toronto, ON.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Introduction to Computability Theory
1 The scanning process Main goal: recognize words/tokens Snapshot: At any point in time, the scanner has read some input and is on the way to identifying.
Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 4 Updated by Marek Perkowski.
CS 490: Automata and Language Theory Daniel Firpo Spring 2003.
1 Foundations of Software Design Lecture 23: Finite Automata and Context-Free Grammars Marti Hearst Fall 2002.
Prof. Fateman CS 164 Lecture 91 Bottom-Up Parsing Lecture 9.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
Model Checking Lecture 5. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Flavio Lerda 1 LTL Model Checking Flavio Lerda. 2 LTL Model Checking LTL –Subset of CTL* of the form: A f where f is a path formula LTL model checking.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Regular Expressions (RE) Empty set Φ A RE denotes the empty set Empty string λ A RE denotes the set {λ} Symbol a A RE denotes the set {a} Alternation M.
Syntax and Semantics Structure of programming languages.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
THEORY OF COMPUTATION 08 KLEENE’S THEOREM.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions.
어휘분석 (Lexical Analysis). Overview Main task: to read input characters and group them into “ tokens. ” Secondary tasks: –Skip comments and whitespace;
CS 321 Programming Languages and Compilers Bottom Up Parsing.
Automating Construction of Lexers. Example in javacc TOKEN: { ( | | "_")* > | ( )* > | } SKIP: { " " | "\n" | "\t" } --> get automatically generated code.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Closure.
Lexical Analysis Constructing a Scanner from Regular Expressions.
Overview of Previous Lesson(s) Over View  An NFA accepts a string if the symbols of the string specify a path from the start to an accepting state.
Syntax and Semantics Structure of programming languages.
Equivalence of Pushdown Automata and Context-Free Grammars (1) Theorem. Given a context-free grammar CG = ( ,NT,R,S), then there is a pushdown automaton.
2. Regular Expressions and Automata 2007 년 3 월 31 일 인공지능 연구실 이경택 Text: Speech and Language Processing Page.33 ~ 56.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 11 Midterm Exam 2 -Context-Free Languages Mälardalen University 2005.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS 203: Introduction to Formal Languages and Automata
TM Design Macro Language D and SD MA/CSSE 474 Theory of Computation.
An Introduction to Rabin Automata Presented By: Tamar Aizikowitz Spring 2007 Automata Seminar.
Modeling Computation: Finite State Machines without Output
using Deterministic Finite Automata & Nondeterministic Finite Automata
Overview of Previous Lesson(s) Over View  A token is a pair consisting of a token name and an optional attribute value.  A pattern is a description.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
THE CONVENTIONS 2 simple rules: Rule # 1: Rule # 2: RR “move to the right until you find  “ Note: first check. Then move (think of a “while”) “Never.
Grammar Set of variables Set of terminal symbols Start variable Set of Production rules.
Complexity and Computability Theory I Lecture #5 Rina Zviel-Girshin Leah Epstein Winter
Finite Automata A simple model of computation. 2 Finite Automata2 Outline Deterministic finite automata (DFA) –How a DFA works.
Pushdown Automata Chapter 12. Recognizing Context-Free Languages Two notions of recognition: (1) Say yes or no, just like with FSMs (2) Say yes or no,
1 Chapter Pushdown Automata. 2 Section 12.2 Pushdown Automata A pushdown automaton (PDA) is a finite automaton with a stack that has stack operations.
Deterministic Finite Automata Nondeterministic Finite Automata.
CMSC 330: Organization of Programming Languages Pushdown Automata Parsing.
CS412/413 Introduction to Compilers Radu Rugina Lecture 3: Finite Automata 25 Jan 02.
COMPILER CONSTRUCTION
COMP 3438 – Part II - Lecture 3 Lexical Analysis II Par III: Finite Automata Dr. Zili Shao Department of Computing The Hong Kong Polytechnic Univ. 1.
Programming Languages Translator
PROPERTIES OF REGULAR LANGUAGES
Copyright © Cengage Learning. All rights reserved.
Pushdown Automata PDAs
Two issues in lexical analysis
Chapter 2 FINITE AUTOMATA.
REGULAR LANGUAGES AND REGULAR GRAMMARS
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
CSE322 CONSTRUCTION OF FINITE AUTOMATA EQUIVALENT TO REGULAR EXPRESSION Lecture #9.
4. Properties of Regular Languages
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Chapter 1 Regular Language
Pushdown automata The Chinese University of Hong Kong Fall 2011
Presentation transcript:

Regular Model Checking Made Simple and Efficient P. Abdulla, B. Jonsson, M. Nilsson and J. d’Orso Uppsala University

Presentation Overview Aim Regular Model Checking Subset Construction Construction by Matching Conclusions

Aim Parameterized systems Counters Stacks queues Can all be represented by regular languages And regular relations.

Regular Model Checking Represent configurations/transition relations with finite automata. (n,n) (n,t)(t,n) (n,n) Example: moving a token to the right

Regular Model Checking The transitive closure: (n,n) (n,t)(t,n) (n,n) Example: moving a token arbitrarily to the right (n,n)

Regular Model Checking (cont.) Problem: how do we compute transitive closures ? Solution: subset construction ([BJNT00]) First step: use strings to represent composition (“columns”) Successive runs One column

Regular Model Checking (cont.)

Subset Construction (cont.) Problem: previous automaton is infinite ! Second idea: apply subset construction With regular sets

Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n)

Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n) (t,n) (n,t) (n,n)

Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n) (t,n) (n,t)

Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n) (t,n) (n,t) (n,n)

Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n) (t,n) (n,t) (n,n)

Subset Construction (cont.) Automaton built is deterministic Computing the image of a set is expensive For many examples, sets obtained are simple Practical problems:

Our Contribution The algorithm uses only local information, not global reasoning (bisimulations). Compared with [DLS01]:

Our Contribution Construction does not rely on determinism No image computation, but simple “matching” Compared with [BJNT00]:

An Example L123R (e,e)(e,e)(e,e)(e,e) (a,e)(b,a)(d,b)(e,d)

An Example L123R (e,e)(e,e)(e,e)(e,e) (a,e)(b,a)(d,b)(e,d) Compose automaton twice: (e,e)(e,e) (e,e)(e,e) (a,e)(b,e)(e,b)(e,d)(d,a) LLLL 1L1L R3R3 RRRR

An Example L123R (e,e)(e,e)(e,e)(e,e) (a,e)(b,a)(d,b)(e,d) (e,e)(e,e) (e,e)(e,e) (a,e)(b,e)(e,b)(e,d)(d,a) LLLL 1L1L R3R3 RRRR

An Example L123R (e,e) (a,e)(b,a)(d,b)(e,d) (b,e) (d,a) (e,b)

An Example L123R (e,e) (a,e)(b,a)(d,b)(e,d) (b,e) (d,a) (e,b) (d,e) (e,a)

An Example L123R (e,e) (a,e)(b,a)(d,b)(e,d) (b,e) (d,a) (e,b) (d,e) (e,a) (e,e)

Construction by Matching Use sets of form: With each sub-expression being one of: (1) (2) (3)

Construction by Matching (cont.) (e,e)(e,e) (e,e)(e,e) (a,e)(b,e)(e,b)(e,d)(d,a) LLLL 1L1L R3R3 RRRR Examples of sets:

Construction by Matching (cont.) Properties of such sets: (1) Can be made canonical representation (2) Closed under an operation similar to concatenation (3) Induce equivalence relation

Property (1) Canonicity: always take the largest set !

Property (2) Define operator * as follows: otherwise if

Property (2) Using the * operator: L+1 L+ * L+ 1 * L+ (a,e) (e,e) (a,e)

Property (3) When can we merge states ? 1 2 1/ 2

Property (3) (cont.) Does our equivalence relation satisfy this ? Yes ! L L L L L q q1 q2 q1 q2 q q

Property (3) (cont.) L L L L q1 q2 q1 q2q1 Property needs to be symmetric !

The Algorithm Initialization: replace copying states “q” with “q+”, leave the rest; Step k+1: for a transition of step k and a transition of step 0, if “match” then add the combined transition; Stop: when reach fixed point.

Example L123R (e,e) (a,e)(b,a)(d,b)(e,d) Run the initialization step.

Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d)

Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d) Match transitions in red.

Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d) 1 L+ (a,e)

Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d) 1 L+ (a,e)

Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d) 1 L+ (a,e) 2 1 (b,e)

Results Algorithm Subset Construction MatchingSpeedup Dijkstra435s39s11.2 Szymansk i 278s178s1.5 Termination detection 47s22s2.1 Ticket17s20s0.85

Future Work Extend to other systems e.g. trees, push-down systems, graphs, etc… Experiment underlying data structure Graphical interface for this tool