Automatic Symmetry Detection for Model Checking Using Computational Group Theory - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Automatic Symmetry Detection for Model Checking Using Computational Group Theory

Description:

SCD automorphism: bijection of nodes which preserves edges & colours. ... Theorem: if (P) P then is an automorphism of Kripke structure for P when lifted to states. ... – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 17
Provided by: ally152
Category:

less

Transcript and Presenter's Notes

Title: Automatic Symmetry Detection for Model Checking Using Computational Group Theory


1
Automatic Symmetry Detection for Model Checking
Using Computational Group Theory
  • Alastair F. Donaldson
  • Alice Miller
  • Department of Computing Science
  • University of Glasgow

2
Automatic Symmetry Detection for Model Checking
Using Compuational Group Theory
System Requirements
Model Logical Properties
Problem State-space explosion
Expressed in e.g. Promela and LTL
Model Checker
Results
SPIN is a popular model checker
3
Automatic Symmetry Detection for Model Checking
Using Compuational Group Theory
System Requirements
Model Logical Properties
Symmetries of Model
Expressed in e.g. Promela and LTL
Model Checker
Results
SPIN is a popular model checker
4
Automatic Symmetry Detection for Model Checking
Using Compuational Group Theory
System Requirements
Model Logical Properties
Symmetries of Model
Symm Extractor
Expressed in e.g. Promela and LTL
Model Checker
Results
SPIN is a popular model checker
5
Automatic Symmetry Detection for Model Checking
Using Compuational Group Theory
System Requirements
GAP
Model Logical Properties
Symmetries of Model
Symm Extractor
Expressed in e.g. Promela and LTL
Model Checker
Results
SPIN is a popular model checker
6
Contributions
  • Extend idea of static channel diagram (introduced
    in previous work)
  • Use computational group theory to avoid
    unnecessary loss of symmetry
  • Implementation for Promela language

7
Symmetry reduction example
  • Structure much smaller
  • Mutex property invariant
  • G(?? (C1 ? C2))

G(?? (C1 ? C2))
8
Symmetry detection
  • What are symmetries of Kripke structure?
  • Cannot find them by building structure
  • State-space too large
  • Defeats point of symmetry reduction!
  • Various options
  • Symmetry group given by user
  • User specifies interchangeable components
  • Symmetries inferred automatically

9
Symmetry from communication structure
Symmetries of comm. structure ? symmetries of
Kripke structure
10
Static channel diagrams
  • Graphical representation of potential
    communication in Promela program.
  • Nodes Process identifiers names of static
    channels
  • Edges Derived from send/receive statements on
    static channels.
  • Colouring Nodes coloured according to types of
    processes and channels.

Assumes constant set of processes static
channels
Easy to extract SCD from program text
11
Example client-server with load balancers
SCD automorphism bijection of nodes which
preserves edges colours.
S
S
S
No edges from S to C !
3 of chan
3 of chan
3 of chan
Lb
Lb
Aut(C(P)) group of all auts of C(P).
1 of chan
1 of chan
C
C
C
C
C
C
1 of mtype
1 of mtype
1 of mtype
1 of mtype
1 of mtype
1 of mtype
12
Action of Aut(C(P)) on Kripke structure and
program text
  • Let ? in Aut(C(P)).
  • Action on Kripke structure ? permutes local
    state of components.

(N,N,T,C) -gt (N,N,C,T) when ? (3 4)
  • Action on program text ? permuting static
    channel names and literal pid values.
  • We say ?(P) ? P if the programs are the same
    after normalisation.

13
Deriving Kripke structure automorphisms
  • Theorem if ?(P) ? P then ? is an automorphism of
    Kripke structure for P when lifted to states.
  • If ?(P) ? P we say ? is valid for P.
  • Lemma if ?, ? are valid for P then ?? is valid
    for P.

14
Finding largest valid subgroup
  • Validity determined by simple check
  • Conservative, but efficient practical
  • Start with subgroup obtained from valid
    generators
  • Enlarge add valid coset representatives
  • Repeating until no more valid reps results in
    largest valid subgroup
  • GAP used for group theoretic computation
  • Random conjugates used to boost performance

15
Automatic symmetry detection process
Static channel diagram
Source code proctype P x 4 init
extract
Implemented for Promela
Find symmetries using saucy
We can use G for symmetry reduction
Compute largest possible valid subgroup using GAP
Group G of valid symmetries of state-space G
Aut(C(P))
Symmetry group of SCD Aut(C(P))
16
Conclusions and Future Work
  • Summary
  • Automatic framework for detecting symmetry
  • Exploits static channel diagram of Promela model
  • Uses computational group theory to avoid
    unnecessary loss of symmetry
  • Future work
  • Implement efficient reduction techniques for
    arbitrary kinds of symmetry
  • Use powerful results from computational group
    theory to achieve efficiency
Write a Comment
User Comments (0)
About PowerShow.com