Skip to main content
Log in

Certified normalization of generalized traces

  • S.I.: NFM2018
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

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

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aalbersberg IJJ, Rozenberg G (1988) Theory of traces. Theor Comput Sci 60(1):1–82

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  3. Anisimov AV, Knuth DE (1979) Inhomogeneous sorting. Int J Comput Inf Sci 8(4):255–260

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  6. Cartier P, Foata D (1969) Problemes combinatoires de commutation et réarrangements. LNM, vol 85. Springer, Berlin

    Book  MATH  Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

  9. Droste M (1990) Concurrency, automata and domains. In: Paterson MS (ed) ICALP’90. LNCS, vol 443. Springer, Berlin, pp 185–208

    Google Scholar 

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

    Google Scholar 

  11. Hoogers PW, Kleijn HCM, Thiagarajan PS (1995) A trace semantics for Petri nets. Inf Comput 117(1):98–114

    Article  MathSciNet  MATH  Google Scholar 

  12. Katz S, Peled D (1995) Defining conditional independence using collapses. Theor Comput Sci 101(2):337–359

    Article  MathSciNet  MATH  Google Scholar 

  13. Lipton RJ (1975) Reduction: a method of proving properties of parallel programs. Commun ACM 18(12):717–721

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  16. Mazurkiewicz A (1977) Concurrent program schemes and their interpretations. DAIMI report PB-78, Aarhus University

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  21. SPARC International Inc., Weaver DL (1994) The SPARC architecture manual. Prentice Hall, Upper Saddle River, NJ

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

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

Download references

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

Authors

Corresponding author

Correspondence to Hendrik Maarand.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-019-00347-1

Keywords

Navigation