Abstract
Mazurkiewicz traces are a generalization of strings where an independence relation on the alphabet for commutability of letters induces an equivalence relation on strings. The equivalence relation can be made more expressive by allowing the commutability of two adjacent letters in a string to depend on their left context. We generalize two classical normal forms and the corresponding normalization algorithms for Mazurkiewicz traces for Sassone et al.’s context-dependent generalization of traces, formalize this development in the dependently typed programming language Agda, and show generalized traces in action on an example from relaxed shared-memory concurrency (local reads in TSO).
Similar content being viewed by others
References
Aalbersberg IJJ, Rozenberg G (1988) Theory of traces. Theor Comput Sci 60(1):1–82
Abdulla PA, Aronis S, Atig MF, Jonsson B, Leonardsson C, Sagonas K (2015) Stateless model checking for TSO and PSO. In: Baier C, Tinelli C (eds) TACAS 2015. LNCS, vol 9035. Springer, Berlin, pp 353–367
Anisimov AV, Knuth DE (1979) Inhomogeneous sorting. Int J Comput Inf Sci 8(4):255–260
Aspinall D, Sevčik J (2007) Formalising Java’s data race free guarantee. In: Schneider K, Brandt J (eds) TPHOLs 2007. LNCS, vol 4732. Springer, Berlin, pp 22–37
Bouajjani A, Enea C, Mutluergil SO, Tasiran S (2018) Reasoning about TSO programs using reduction and abstraction. In: Chockler H, Weissenbacher G (eds) CAV 2018, part 2. LNCS, vol 10982. Springer, Berlin, pp 336–353
Cartier P, Foata D (1969) Problemes combinatoires de commutation et réarrangements. LNM, vol 85. Springer, Berlin
Chou C-T, Peled D (1996) Formal verification of a partial-order reduction technique for model checking. In: Margaria T, Steffen B (eds) TACAS’96. LNCS, vol 1055. Springer, Berlin, pp 241–257
Diekert V, Métivier Y (1997) Partial commutation and traces. In: Rozenberg G, Salomaa A (eds) Handbook of formal languages. Beyond words, vol 3. Springer, Berlin, pp 457–553
Droste M (1990) Concurrency, automata and domains. In: Paterson MS (ed) ICALP’90. LNCS, vol 443. Springer, Berlin, pp 185–208
Godefroid P (1990) Using partial orders to improve automatic verification methods. In: Clarke EM, Kurshan RP (eds) CAV ’90. LNCS, vol 531. Springer, Berlin, pp 176–185
Hoogers PW, Kleijn HCM, Thiagarajan PS (1995) A trace semantics for Petri nets. Inf Comput 117(1):98–114
Katz S, Peled D (1995) Defining conditional independence using collapses. Theor Comput Sci 101(2):337–359
Lipton RJ (1975) Reduction: a method of proving properties of parallel programs. Commun ACM 18(12):717–721
Maarand H, Uustalu T (2017) Generating representative executions. In: Vasconcelos VT, Haller P (eds) Proceedings of 10th workshop on programming language approaches to concurrency and communication-centric software, PLACES 2017. Electronic Proceedings in Theoretical Computer Science, vol 246. Open Publishing Association, Sydney, pp 39–48
Maarand H, Uustalu T (2018) Certified Foata normalization for generalized traces. In: Dutle A, Muñoz C, Narkawicz A (eds) NFM 2018. LNCS, vol 10811. Springer, Berlin, pp 299–314
Mazurkiewicz A (1977) Concurrent program schemes and their interpretations. DAIMI report PB-78, Aarhus University
Norell U (2009) Dependently typed programming in Agda. In: Koopman P, Plasmeijer R, Swierstra D (eds) AFP 2008. LNCS, vol 5832. Springer, Berlin, pp 230–266
Owens S, Sarkar S, Sewell P (2009) A better x86 memory model: x86-TSO. In: Berghofer S, Nipkow T, Urban C, Wenzel M (eds) TPHOLs 2009. LNCS, vol 5674. Springer, Berlin, pp 391–407
Peled D (1993) All from one, one for all: on model checking using representatives. In: Courcourbetis C (ed) CAV’93. LNCS, vol 697. Springer, Berlin, pp 409–423
Sassone V, Nielsen M, Winskel G (1993) Deterministic behavioural models for concurrency. In: Borzyszkowski AM, Sokolowski S (eds) MFCS’93. LNCS, vol 711. Springer, Berlin, pp 682–692
SPARC International Inc., Weaver DL (1994) The SPARC architecture manual. Prentice Hall, Upper Saddle River, NJ
Yang Y, Gopalakrishnan G, Lindstrom G, Slind K (2004) Nemos: a framework for axiomatic and executable specifications of memory consistency models. In: Proceedings of 18th international parallel and distributed processing symposium, IPDPS 2004. IEEE, Los Alamitos, CA, pp 433–441
Zhang N, Kusano M, Wang C (2015) Dynamic partial order reduction for relaxed memory models. In: Proceedings of 36th ACM SIGPLAN conference on principles of language design and implementation, PLDI 2015. ACM, New York, pp 250–259
Acknowledgements
This work was supported by the ERDF funded Estonian national centre of excellence Project EXCITE (2014-2020.4.01.15-0018) and the Estonian Ministry of Education and Research institutional research Grant IUT33-13.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Maarand, H., Uustalu, T. Certified normalization of generalized traces. Innovations Syst Softw Eng 15, 253–265 (2019). https://doi.org/10.1007/s11334-019-00347-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-019-00347-1