Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Regular Model Checking Made Simple and Efficient P. Abdulla, B. Jonsson, M. Nilsson and J. d’Orso Uppsala University."— Presentation transcript:

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.)

8

9

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


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

Similar presentations


Ads by Google