Foundations of session types and behavioural contracts

Hans Hüttel, Ivan Lanese, Vasco T. Vasconcelos, Lúis Caires, Mmarco Carbone, Pierre Malo Deniélou, Dimitris Mostrous, Luca Padovani, António Maria Lobo César Alarcão Ravara, Emilio Tuosto, Hugo Torres Vieira, Gianluigi Zavattaro

Research output: Contribution to journalArticlepeer-review

110 Citations (Scopus)


Behavioural type systems, usually associated to concurrent or distributed computations, encompass concepts such as interfaces, communication protocols, and contracts, in addition to the traditional input/output operations. The behavioural type of a software component specifies its expected patterns of interaction using expressive type languages, so types can be used to determine automatically whether the component interacts correctly with other components. Two related important notions of behavioural types are those of session types and behavioural contracts. This article surveys the main accomplishments of the last 20 years within these two approaches.

Original languageEnglish
Article number2873052
JournalACM Computing Surveys
Issue number1
Publication statusPublished - 1 Apr 2016


  • Behavioural types

Fingerprint Dive into the research topics of 'Foundations of session types and behavioural contracts'. Together they form a unique fingerprint.

Cite this