Download presentation
Presentation is loading. Please wait.
Published byJanel Wells Modified over 9 years ago
1
Regular Model Checking Made Simple and Efficient P. Abdulla, B. Jonsson, M. Nilsson and J. d’Orso Uppsala University
2
Presentation Overview Aim Regular Model Checking Subset Construction Construction by Matching Conclusions
3
Aim Parameterized systems Counters Stacks queues Can all be represented by regular languages And regular relations.
4
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
5
Regular Model Checking The transitive closure: (n,n) (n,t)(t,n) (n,n) Example: moving a token arbitrarily to the right (n,n)
6
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
7
Regular Model Checking (cont.)
10
Subset Construction (cont.) Problem: previous automaton is infinite ! Second idea: apply subset construction With regular sets
11
Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n)
12
Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n) (t,n) (n,t) (n,n)
13
Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n) (t,n) (n,t)
14
Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n) (t,n) (n,t) (n,n)
15
Subset Construction (cont.) (n,n) (n,t)(t,n) (n,n) Relation R: Construction: (n,n) (t,n) (n,t) (n,n)
16
Subset Construction (cont.) Automaton built is deterministic Computing the image of a set is expensive For many examples, sets obtained are simple Practical problems:
17
Our Contribution The algorithm uses only local information, not global reasoning (bisimulations). Compared with [DLS01]:
18
Our Contribution Construction does not rely on determinism No image computation, but simple “matching” Compared with [BJNT00]:
19
An Example L123R (e,e)(e,e)(e,e)(e,e) (a,e)(b,a)(d,b)(e,d)
20
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 2121 3232 R3R3 RRRR
21
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 2121 3232 R3R3 RRRR
22
An Example L123R (e,e) (a,e)(b,a)(d,b)(e,d) (b,e) (d,a) (e,b)
23
An Example L123R (e,e) (a,e)(b,a)(d,b)(e,d) (b,e) (d,a) (e,b) (d,e) (e,a)
24
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)
25
Construction by Matching Use sets of form: With each sub-expression being one of: (1) (2) (3)
26
Construction by Matching (cont.) (e,e)(e,e) (e,e)(e,e) (a,e)(b,e)(e,b)(e,d)(d,a) LLLL 1L1L 2121 3232 R3R3 RRRR Examples of sets:
27
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
28
Property (1) Canonicity: always take the largest set !
29
Property (2) Define operator * as follows: otherwise if
30
Property (2) Using the * operator: L+1 L+ * L+ 1 * L+ (a,e) (e,e) (a,e)
31
Property (3) When can we merge states ? 1 2 1/ 2
32
Property (3) (cont.) Does our equivalence relation satisfy this ? Yes ! L L L L L q q1 q2 q1 q2 q q
33
Property (3) (cont.) L L L L q1 q2 q1 q2q1 Property needs to be symmetric !
34
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.
35
Example L123R (e,e) (a,e)(b,a)(d,b)(e,d) Run the initialization step.
36
Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d)
37
Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d) Match transitions in red.
38
Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d) 1 L+ (a,e)
39
Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d) 1 L+ (a,e)
40
Example L+123R+ (e,e) (a,e)(b,a)(d,b)(e,d) 1 L+ (a,e) 2 1 (b,e)
41
Results Algorithm Subset Construction MatchingSpeedup Dijkstra435s39s11.2 Szymansk i 278s178s1.5 Termination detection 47s22s2.1 Ticket17s20s0.85
42
Future Work Extend to other systems e.g. trees, push-down systems, graphs, etc… Experiment underlying data structure Graphical interface for this tool
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.