Foundations of session types and behavioural contracts

H Hüttel, I Lanese, VT Vasconcelos, L Caires… - ACM Computing …, 2016 - dl.acm.org
Behavioural type systems, usually associated to concurrent or distributed computations,
encompass concepts such as interfaces, communication protocols, and contracts, in addition …

Behavioral types in programming languages

D Ancona, V Bono, M Bravetti, J Campos… - … and Trends® in …, 2016 - nowpublishers.com
A recent trend in programming language research is to use behavioral type theory to ensure
various correctness properties of largescale, communication-intensive systems. Behavioral …

Obsidian: a safer blockchain programming language

M Coblenz - 2017 IEEE/ACM 39th international conference on …, 2017 - ieeexplore.ieee.org
Blockchain platforms, such as Ethereum, promise to facilitate transactions on a
decentralized computing platform among parties that have not established trust. Recognition …

Obsidian: Typestate and assets for safer blockchain programming

M Coblenz, R Oei, T Etzel, P Koronkevich… - ACM Transactions on …, 2020 - dl.acm.org
Blockchain platforms are coming into use for processing critical transactions among
participants who have not established mutual trust. Many blockchains are programmable …

Dependent types for JavaScript

R Chugh, D Herman, R Jhala - … of the ACM international conference on …, 2012 - dl.acm.org
We present Dependent JavaScript (DJS), a statically typed dialect of the imperative, object-
oriented, dynamic language. DJS supports the particularly challenging features such as run …

Foundations of typestate-oriented programming

R Garcia, É Tanter, R Wolff, J Aldrich - ACM Transactions on …, 2014 - dl.acm.org
Typestate reflects how the legal operations on imperative objects can change at runtime as
their internal state changes. A typestate checker can statically ensure, for instance, that an …

[HTML][HTML] Typechecking protocols with Mungo and StMungo: A session type toolchain for Java

D Kouzapas, O Dardha, R Perera, SJ Gay - Science of Computer …, 2018 - Elsevier
Static typechecking is an important feature of many standard programming languages.
However, static typing focuses on data rather than communication, and therefore does not …

PLIERS: a process that integrates user-centered methods into programming language design

M Coblenz, G Kambhatla, P Koronkevich… - ACM Transactions on …, 2021 - dl.acm.org
Programming language design requires making many usability-related design decisions.
However, existing HCI methods can be impractical to apply to programming languages …

Propositions-as-types and shared state

P Rocha, L Caires - Proceedings of the ACM on Programming …, 2021 - dl.acm.org
We develop a principled integration of shared mutable state into a proposition-as-types
linear logic interpretation of a session-based concurrent programming language. While the …

Typechecking protocols with Mungo and StMungo

D Kouzapas, O Dardha, R Perera, SJ Gay - Proceedings of the 18th …, 2016 - dl.acm.org
We report on two tools that extend Java with support for static type-checking of
communication protocols. Our Mungo tool extends Java with typestate definitions, which …