Abstract

We present an extension of FDR, the model checker for the process algebra CSP, that exploits symmetry to reduce the size of the state space searched. We define what it means for a process to be symmetric with respect to a group of permutations on the transition labels. We factor the state space of the search by symmetry equivalence, mapping each state to a representative of its equivalence class, thereby considering all symmetric states together. We prove a powerful syntactic result, identifying conditions under which a process will be symmetric in a particular type. We show how to implement such a search using the powerful technique of supercombinators used in the implementation of FDR: we identify conditions on a supercombinator for it to be symmetric and explain how to apply a permutation to a state. Finally, we present a novel efficient technique for calculating representatives of equivalence classes, which normally finds unique representatives; our experiments suggest that this technique typically works faster than other techniques and in particular scales better.

Highlights

  • FDR [14] is a powerful model checker for the process algebra CSP [35]

  • We describe relevant background and formalise our notion of symmetry in Sect. 2: we define what it means for a labelled transition system (LTS) to be symmetric with respect to a group G of permutations on the labels of transitions and for a pair of states to be related under a permutation π ∈ G (π -bisimilar)

  • The user may explicitly give the subtypes over which symmetry reduction should be performed; in this case, FDR checks that the script is constant-free for these subtypes. (If an assertion is not tagged in this way, the normal algorithm is run, so the symmetry reduction gives no overhead in this case.)

Read more

Summary

Introduction

FDR [14] is a powerful model checker for the process algebra CSP [35]. Many systems that one might want to model check contain symmetries. Symmetry reduction has been applied previously in other model checkers: we give a review in Sect. We describe how FDR represents CSP processes in terms of labelled transition systems (LTSs) and present some operations over those LTSs. We give here a slightly simplified description, in the interests of exposition. In the body of the paper we restrict to the traces model, which will mean that we can represent processes by labelled transition systems (Definition 1). We will generalise, so as to be able to consider the other semantic models; this will require a generalisation of labelled transition systems.

Objectives
Methods
Findings
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call