Type Systems for Concurrent Programming: A Case Study

  • Cláudio Henrique Oliveira Ribeiro UFG
  • Bruno Silvestre UFG
  • Daniel Ventura UFG

Abstract


In this work, a case study of a Go program encoded as a process calculus term is presented, as a first step in proposing a Go session types system.

References

Bocchi, L., Murgia, M., Vasconcelos, V. T., and Yoshida, N. (2019). Asynchronous timed session types from duality to time-sensitive processes. In ESOP, volume 11423 of Lecture Notes in Computer Science, pages 583–610. Springer.

Demangeon, R. and Honda, K. (2012). Nested protocols in session types. In CONCUR, volume 7454 of Lecture Notes in Computer Science, pages 272–286. Springer.

Donovan, A. A. and Kernighan, B. W. (2015). The Go programming language. Addison-Wesley Professional.

Echarren Serrano, B. (2020). Nested Multiparty Session Programming in Go. Master’s thesis, Imperial College London. Disponível em: [link].

Geraldo, J. M. P. D. C. R. (2022). Making Session Types Go. Master’s thesis, NOVA University Lisbon. Disponível em: [link].

Go Language (2009). Effective Go. Disponível em: [link]. Último acesso em 17 de Agosto de 2023.

Kobayashi, N. (2002). Type systems for concurrent programs. In 10th Anniversary Colloquium of UNU/IIST, volume 2757 of Lecture Notes in Computer Science, pages 439–453. Springer.

Lange, J., Ng, N., Toninho, B., and Yoshida, N. (2017). Fencing off Go: liveness and safety for channel-based programming. In POPL, pages 748–761. ACM.

Restrepo, C. A. R., Jaramillo, J. C., and Pérez, J. A. (2023). Session-based concurrency in maude: Executable semantics and type checking. Journal of Logical and Algebraic Methods in Programming, 133:100872.

Vasconcelos, V. T. (2012). Fundamentals of session types. Information and Computation, 217:52–70.
Published
2024-07-21
RIBEIRO, Cláudio Henrique Oliveira; SILVESTRE, Bruno; VENTURA, Daniel. Type Systems for Concurrent Programming: A Case Study. In: BRAZILIAN WORKSHOP OF LOGIC (WBL), 5. , 2024, Brasília/DF. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 27-37. ISSN 2763-8731. DOI: https://doi.org/10.5753/wbl.2024.3206.