TY - JOUR AV - restricted ID - eprints3695 TI - Foundations of Session Types and Behavioural Contracts UR - http://doi.acm.org/10.1145/2873052 IS - 1 N2 - 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. JF - ACM Computing Surveys SN - 0360-0300 VL - 49 PB - ACM EP - 36 Y1 - 2016/// SP - 1 A1 - Huttel, Hans A1 - Lanese, Ivan A1 - Vasconcelos, Vasco Thudichum A1 - Caires, Luis A1 - Carbone, Marco A1 - Deniélou, Pierre-Malo A1 - Mostrous, Dimitris A1 - Padovani, Luca A1 - Ravara, Antonio A1 - Tuosto, Emilio A1 - Torres Vieira, Hugo A1 - Zavattaro, Gianluigi ER -