English
Related papers

Related papers: Comparing Session Type Systems derived from Linear…

200 papers

Session types are a type-based approach to the verification of message-passing programs. They specify communication structures essential to enforcing program correctness; by relying on sequencing constructs, a session type can precisely…

Programming Languages · Computer Science 2025-05-14 Alen Arslanagić , Jorge A. Pérez , Dan Frumin

A system of session types is introduced as induced by a Curry Howard correspondence applied to Bounded Linear Logic, and then extending the thus obtained type system with probabilistic choices and ground types. The obtained system satisfies…

Logic in Computer Science · Computer Science 2022-07-08 Ugo Dal Lago , Giulia Giusti

Program equivalence is the fulcrum for reasoning about and proving properties of programs. For noninterference, for example, program equivalence up to the secrecy level of an observer is shown. A powerful enabler for such proofs are logical…

Programming Languages · Computer Science 2026-04-15 Stephanie Balzer , Farzaneh Derakhshan , Robert Harper , Yue Yao

Initiated by Abramsky [1994], the Proofs as Processes agenda is to establish a solid foundation for the study of concurrent languages, by researching the connection between linear logic and the $\pi$-calculus. To date, Proofs as Processes…

Logic in Computer Science · Computer Science 2021-06-23 Fabrizio Montesi , Marco Peressotti

Up to now session types have been used under the assumptions of point to point communication, to ensure the linearity of session endpoints, and reliable communication, to ensure send/receive duality. In this paper we define a session type…

Programming Languages · Computer Science 2014-06-16 Dimitrios Kouzapas , Ramūnas Gutkovas , Simon J. Gay

Session types define protocols that processes must follow when communicating. The special case of binary session types, i.e. type annotations of protocols between two parties, is known to be in a propositions-as-types correspondence with…

Programming Languages · Computer Science 2021-12-15 Marco Carbone , Sonia Marin , Carsten Schürmann

The scenario-based specification of a large distributed system is usually naturally decomposed into various modules. The integration of specification modules contrasts to the parallel composition of program components, and includes various…

Programming Languages · Computer Science 2012-10-09 Guoxin Su , Mingsheng Ying , Chengqi Zhang

Termination is a central property in sequential programming models: a term is terminating if all its reduction sequences are finite. Termination is also important in concurrency in general, and for message-passing programs in particular. A…

Logic in Computer Science · Computer Science 2023-08-03 Joseph W. N. Paulus , Jorge A. Pérez , Daniele Nantes-Sobrinho

Session types allow communication protocols to be specified type-theoretically so that protocol implementations can be verified by static type checking. We extend previous work on session types for distributed object-oriented languages in…

Programming Languages · Computer Science 2017-01-11 Simon J. Gay , Nils Gesbert , António Ravara , Vasco T. Vasconcelos

Behavioural type systems ensure more than the usual safety guarantees of static analysis. They are based on the idea of "types-as-processes", providing dedicated type algebras for particular properties, ranging from protocol compatibility…

Programming Languages · Computer Science 2014-08-08 Simon J. Gay , Nils Gesbert , António Ravara

Imperative session types provide an imperative interface to session-typed communication. In such an interface, channel references are first-class objects with operations that change the typestate of the channel. Compared to functional…

Programming Languages · Computer Science 2023-06-22 Hannes Saffrich , Peter Thiemann

Program equivalence is the fulcrum for reasoning about and proving properties of programs. For noninterference, for example, program equivalence up to the secrecy level of an observer is shown. A powerful enabler for such proofs are logical…

Programming Languages · Computer Science 2022-08-31 Farzaneh Derakhshan , Stephanie Balzer

Session types model structured communication-based programming. In particular, binary session types for the pi-calculus describe communication between exactly two participants in a distributed scenario. Adding sessions to the pi-calculus…

Programming Languages · Computer Science 2014-08-27 Ornela Dardha

Besides respecting prescribed protocols, communication-centric systems should never "get stuck". This requirement has been expressed by liveness properties such as progress or (dead)lock freedom. Several typing disciplines that ensure these…

Logic in Computer Science · Computer Science 2015-08-28 Ornela Dardha , Jorge A. Pérez

Session types are a rich type discipline, based on linear types, that lifts the sort of safety claims that come with type systems to communications. However, web-based applications and microservices are often written in a mix of languages,…

Programming Languages · Computer Science 2019-11-20 Atsushi Igarashi , Peter Thiemann , Yuya Tsuda , Vasco T. Vasconcelos , Philip Wadler

The fast growth of service-oriented programming (SOP) is evident in this day and age of the Internet, and handling communication is of paramount importance in SOP. Session types are a formalism that is proposed to specify interactions…

Programming Languages · Computer Science 2018-10-30 Hanwen Wu , Hongwei Xi

We introduce coexponentials, a new set of modalities for Classical Linear Logic. As duals to exponentials, the coexponentials codify a distributed form of the structural rules of weakening and contraction. This makes them a suitable logical…

Logic in Computer Science · Computer Science 2021-03-05 Zesen Qian , G. A. Kavvos , Lars Birkedal

Prior work has extended the deep, logical connection between the linear sequent calculus and session-typed message-passing concurrent computation with equi-recursive types and a natural notion of subtyping. In this paper, we extend this…

Programming Languages · Computer Science 2017-02-09 Coşku Acay , Frank Pfenning

In recent work, we have developed a session types discipline for a calculus that features the usual constructs for session establishment and communication, but also two novel constructs that enable communicating processes to be stopped,…

Programming Languages · Computer Science 2013-12-11 Cinzia Di Giusto , Jorge A. Pérez

Session types provide guarantees about concurrent behaviour and can be understood through their correspondence with linear logic, with propositions as sessions and proofs as processes. However, a strictly linear setting is somewhat…

Programming Languages · Computer Science 2024-10-23 Danielle Marshall , Dominic Orchard