Three Subtyping Algorithms for Binary Session Types and their Complexity Analyses (full version)
Abstract: Session types are a type discipline for describing and specifying communication behaviours of concurrent processes. Session subtyping, firstly introduced by Gay and Hole, is widely used for enlarging typability of session programs. This paper gives the complexity analysis of three algorithms for subtyping of synchronous binary session types. First, we analyse the complexity of the algorithm from the original paper, which is based on an inductive tree search. We then introduce its optimised version, which improves the complexity, but is still exponential against the size of the two types. Finally, we propose a new quadratic algorithm based on a graph search using the concept of $\mathcal{XYZW}$-simulation, recently introduced by Silva et al.
- Roberto Amadio & Luca Cardelli (1993): Subtyping Recursive Types. ACM transactions on programming languages and systems 15(4), pp. 575–631, 10.1145/155183.155231.
- Logical Methods in Computer Science 13(2), 10.23638/LMCS-13(2:12)2017.
- Simon Gay & Malcolm Hole (2005): Subtyping for Session Types in the Pi Calculus. Acta Informatica 42(2-3), pp. 191–225, 10.1007/s00236-005-0177-z.
- Journal of Logical and Algebraic Methods in Programming 104, pp. 127–173, 10.1016/j.jlamp.2018.12.002.
- Kohei Honda, Vasco Thudichum Vasconcelos & Makoto Kubo (1998): Language Primitives and Type Discipline for Structured Communication-Based Programming. In Chris Hankin, editor: Programming Languages and Systems - ESOP’98, 7th European Symposium on Programming, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS’98, Lisbon, Portugal, March 28 - April 4, 1998, Proceedings, Lecture Notes in Computer Science 1381, Springer, pp. 122–138, 10.1007/BFB0053567.
- Kohei Honda, Nobuko Yoshida & Marco Carbone (2008): Multiparty Asynchronous Session Types. In: Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’08, Association for Computing Machinery, New York, NY, USA, pp. 273–284, 10.1145/1328438.1328472.
- Dexter Kozen, Jens Palsberg & Michael I. Schwartzbach (1993): Efficient Recursive Subtyping. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’93, Association for Computing Machinery, New York, NY, USA, pp. 419–428, 10.1145/158511.158700.
- Julien Lange & Nobuko Yoshida (2016): Characteristic Formulae for Session Types. In Marsha Chechik & Jean-François Raskin, editors: Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in Computer Science, Springer, Berlin, Heidelberg, pp. 833–850, 10.1007/978-3-662-49674-952.
- Luca Padovani (2019): Context-Free Session Type Inference. ACM Transactions on Programming Languages and Systems 41(2), pp. 9:1–9:37, 10.1145/3229062.
- Robert Paige & Robert E. Tarjan (1987): Three Partition Refinement Algorithms. SIAM Journal on Computing 16(6), pp. 973–989, 10.1137/0216062.
- Benjamin C. Pierce (2002): Types and Programming Languages, 1st edition. The MIT Press.
- Gil Silva, Andreia Mordido & Vasco T. Vasconcelos (2023): Subtyping Context-Free Session Types. 279, Schloss Dagstuhl – Leibniz-Zentrum für Informatik, pp. 11:1–11:19, 10.4230/LIPICS.CONCUR.2023.11.
- Kaku Takeuchi, Kohei Honda & Makoto Kubo (1994): An Interaction-based Language and Its Typing System. In Constantine Halatsis, Dimitris G. Maritsas, George Philokyprou & Sergios Theodoridis, editors: PARLE ’94: Parallel Architectures and Languages Europe, 6th International PARLE Conference, Athens, Greece, July 4-8, 1994, Proceedings, Lecture Notes in Computer Science 817, Springer, pp. 398–413, 10.1007/3-540-58184-7118.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.