Abstract
We introduce a specification language, Promela-Lite, which captures the essential features of Promela but which, unlike Promela, has a formally defined semantics. We show how we can detect symmetry in specifications defined in Promela-lite by constructing a directed, coloured bipartite digraph called a static channel diagram, and applying computational group theoretic techniques. We extend our approach to Promela and introduce a tool, SymmExtractor, for automatically detecting symmetries of Promela specifications. We demonstrate the effectiveness of our approach via experimental results for a suite of Promela specifications. Unlike previous approaches our technique is fully automatic, and not restricted to fully symmetric systems.
Similar content being viewed by others
References
Aho, A., Sethi, R., Ullman, J.: Compilers—Principles, Techniques and Tools. Addison-Wesley, Reading (1986)
Bosnacki, D., Dams, D., Holenderski, L.: Symmetric spin. Int. J. Softw. Tools Technol. Transf. 4(1), 65–80 (2002)
Cameron, P.: Permutation groups. London Mathematical Society Student Texts, vol. 45. Cambridge University Press, Cambridge (1999)
Cardelli, L.: Type systems. In: Tucker, A. (ed.) The Computer Science and Engineering Handbook, New York, USA, pp. 2208–2236. CRC, Boca Raton (1997)
Clarke, E., Emerson, E.: Synthesis of synchronization skeletons for branching time temporal logic. In: Proceedings of the Workshop in Logic of Programs. Lecture Notes in Computer Science, Yorktown Heights, N.Y., vol. 131. Springer, New York (1981)
Clarke, E., Emerson, E., Jha, S., Sistla, A.: Symmetry reductions in model-checking. In: Hu, A., Vardi, M. (eds.) Proceedings of the 10th International Conference on Computer-aided Verification (CAV ‘98). Lecture Notes in Computer Science, Vancouver, British Columbia, Canada, vol. 1427, pp. 147–158. Springer, New York (1998)
Clarke, E., Emerson, E., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8(2), 244–263 (1986)
Clarke, E., Enders, R., Filkorn, T., Jha, S.: Exploiting symmetry in temporal logic model checking. Form. Methods Syst. Des. 9(1–2), 77–104 (1996)
Clarke, E., Grumberg, O., Long, D.: Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16(5), 1512–1542 (1994)
Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT, Cambridge (1999)
Cohn, P.: Algebra. Wiley, New York (1982)
Darga, P., Liffiton, M., Sakallah, K., Markov, I.: Exploiting structure in symmetry detection for CNF. In: Proceedings of the 41st Annual Conference on Design Automation, San Diego, CA, USA, pp. 530–534. ACM, New York (2004)
Derepas, F., Gastin, P.: Model checking systems of replicated processes with Spin. In: Dwyer, M.B. (ed.) Proceedings of the 8th International SPIN Workshop (SPIN 2001). Lecture Notes in Computer Science, Toronto, Canada, vol. 2057, pp. 235–251. Springer, New York (2001)
Dill, D., Drexler, A., Hu, A., Yang, C.H.: Protocol verification as a hardware design aid. In: Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computer & Processors (ICCD’92), Cambridge, MA, USA, pp. 522–525. IEEE Computer Society, Los Alamitos (1992)
Donaldson, A.: Thesis website. http://www.dcs.gla.ac.uk/people/personal/ally/thesis/
Donaldson, A., Miller, A., Calder, M.: Finding symmetry in models of concurrent systems by static channel diagram analysis. Electron. Notes Theor. Comp. Sci. 128(6), 161–177 (2005)
Donaldson, A.F.: Automatic Techniques for Detecting and Exploiting Symmetry in Model Checking. PhD Thesis. Department of Computing Science, University of Glasgow, UK (2007)
Donaldson, A.F., Gay, S.: ETCH: an enhanced type checking tool for Promela. In: Godefroid, P. (ed.) Proceedings of the 12th International SPIN Workshop (SPIN 2005). Lecture Notes in Computer Science, Barcelona, Spain, vol. 3639, pp. 237–242. Springer, New York (2005)
Donaldson, A.F., Miller, A.: Automatic symmetry detection for model checking using computational group theory. In: Fitzgerald, J., Hayes, I., Tarlecki, A. (eds.) Proceedings of the 13th International Symposium on Formal Methods (FM 2005). Lecture Notes in Computer Science, Newcastle, UK, vol. 3582, pp. 481–496. Springer, New York (2005)
Donaldson, A.F., Miller, A.: A computational group theoretic symmetry reduction package for the SPIN model checker. In: Proceedings of the 11th International Conference on Algebraic Methodology and Software Technology (AMAST’06). Lecture Notes in Computer Science, Kuressaare, Estonia, vol. 4019, pp. 374–380. Springer, New York (2006)
Donaldson, A.F., Miller, A.: Exact and approximate strategies for symmetry reduction in model checking. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) Proceedings of the 14th International Symposium on Formal Methods (FM 2006). Lecture Notes in Computer Science, Hamilton, Ontario, Canada, vol. 4085, pp. 541–556. Springer, New York (2006)
Donaldson, A.F., Miller, A.: Extending symmetry reduction techniques to a realistic model of computation. Electron. Notes Theor. Comput. Sci. 185, 63–76 (2007)
Emerson, E., Havlicek, J., Trefler, R.: Virtual symmetry reduction. In: Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science, Santa Barbara, CA, USA, pp. 121–131. IEEE Computer Society Press, Silver Spring (2000)
Emerson, E., Sistla, A.: Symmetry and model checking. Form. Methods Syst. Des. 9(1–2), 105–131 (1996)
Gaggnon, E., Handren, L.: SableCC, an object-oriented compiler framework. In: Proceedings of TOOLS USA, pp. 140–154. IEEE Computer Society, Los Alamitos (1998)
Gap Group: GAP– Groups Algorithms and Programming, Version 4.4. Aachen, St. Andrews. http://www.gap-system.org/ (2006)
Godefroid, P.: Exploiting symmetry when model-checking software (extended abstract). In: Wu, J., Chanson, S., Gao, Q. (eds.) Proceedings of the Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols and Protocol Specification, Testing and Verification (FORTE/PSTV ’99 ). International Federation For Information Processing, Beijing, China, vol. 156, pp. 257–275. Kluwer, Deventer (1999)
Holzmann, G.: The SPIN Model Checker: Primer and Reference Manual. Addison Wesley, Boston (2003)
Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM Trans. Prog. Lang. Syst. 23(3), 396–450 (2001)
Ip, C., Dill, D.: Better verification through symmetry. Form. Methods Syst. Des. 9, 41–75 (1996)
Larson, K., Pettersson, P., Yi, W.: UPPAAL in a nutshell. Softw. Tools Technol. Transf. 1(1/2), 134–152 (1997)
McKay, B.: Nauty user’s guide (version 1.5). Technical Report TR-CS-90-02. Australian National University, Computer Science Department (1990)
McMillan, K.L.: Symbolic Model Checking. Kluwer, Boston (1993)
Miller, A., Donaldson, A., Calder, M.: Symmetry in temporal logic model checking. Comput. Surv. 36(3), September (2006)
Nalumasu, R., Gopalakrishnan, G.: Explicit-enumeration based verification made memory-efficient. In: Johnston, S. (ed.) Proceedings of the 12th IFIP International Conference on Computer Hardware Description Languages and their Applications (CHDL’95). IFIP, Chiba, Japan, pp. 617–622. Elsevier, Amsterdam (1995)
Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in CÆSAR. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Proceedings of the 5th International Symposium on Programming. Lecture Notes in Computer Science, Torino, Italy, vol. 137, pp. 195–220. Springer, New York (1982)
Rose, J.: A Course in Group Theory. Dover, New York (1994)
Saffrey, P.: Optimising Communication Structure for Model Checking. PhD Thesis. Department of Computing Science, University of Glasgow, July (2003)
Sistla, A., Godefroid, P.: Symmetry and reduced symmetry in model checking. In: Berry, G., Comon, H., Finkel, A. (eds.) Proceedings of the 13th International Conference on Computer-aided Verification (CAV 2001). Lecture Notes in Computer Science, Paris, France, vol. 2102, pp. 91–103. Springer, New York (2001)
Sistla, A., Gyuris, V., Emerson, E.: SMC: a symmetry-based model checker for verification of safety and liveness properties. ACM Trans. Softw. Eng. Methodol. 9, 133–166 (2000)
Tanenbaum, A., van Steen, M.: Distributed Systems Principles and Paradigms. Prentice Hall, Englewood Cliffs (2002)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Donaldson, A.F., Miller, A. Automatic Symmetry Detection for Promela. J Autom Reasoning 41, 251–293 (2008). https://doi.org/10.1007/s10817-008-9107-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-008-9107-4