English
Related papers

Related papers: Session Types Go Dynamic or How to Verify Your Pyt…

200 papers

We introduce a meta-model based on formal languages, dubbed formal choreographic languages, to study message-passing systems. Our framework allows us to generalise standard constructions from the literature and to compare them. In…

Logic in Computer Science · Computer Science 2024-02-14 Franco Barbanera , Ivan Lanese , Emilio Tuosto

This paper develops semantic typing in a smart-contract setting to ensure type safety of code that uses statically untypable language constructs, such as the fallback function. The idea is that the creator of a contract on the blockchain…

Programming Languages · Computer Science 2026-04-28 Stian Lybech , Daniele Gorla , Luca Aceto

Synchronous model is a type of formal models for modelling and specifying reactive systems. It has a great advantage over other real-time models that its modelling paradigm supports a deterministic concurrent behaviour of systems. Various…

Software Engineering · Computer Science 2021-04-09 Yuanrui Zhang

Gradually-typed programming languages permit the incremental addition of static types to untyped programs. To remain sound, languages insert run-time checks at the boundaries between typed and untyped code. Unfortunately, performance…

Programming Languages · Computer Science 2020-10-13 Cameron Moy , Phúc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

We present PSTMonitor, a tool for the run-time verification of quantitative specifications of message-passing applications, based on probabilistic session types. The key element of PSTMonitor is the detection of executions that deviate from…

Programming Languages · Computer Science 2022-12-16 Christian Bartolo Burlò , Adrian Francalanza , Alceste Scalas , Catia Trubiani , Emilio Tuosto

Networks are difficult to configure correctly, and tricky to debug. These problems are accentuated by temporal and stateful behavior. Static verification, while useful, is ineffectual for detecting behavioral deviations induced by hardware…

Networking and Internet Architecture · Computer Science 2016-07-18 Tim Nelson , Nicholas DeMarinis , Timothy Adam Hoff , Rodrigo Fonseca , Shriram Krishnamurthi

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

Stream-based monitoring is a real-time safety assurance mechanism for complex cyber-physical systems such as unmanned aerial vehicles. In this context, a monitor aggregates streams of input data from sensors and other sources to give…

Programming Languages · Computer Science 2025-09-09 Florian Kohn , Arthur Correnson , Jan Baumeister , Bernd Finkbeiner

Multiparty session types (MSTs) are a type-based approach to verifying communication protocols, represented as global types in the framework. We present a precise subtyping relation for asynchronous MSTs with communicating state machines…

Formal Languages and Automata Theory · Computer Science 2024-01-30 Elaine Li , Felix Stutz , Thomas Wies

Go is a production-level statically typed programming language whose design features explicit message-passing primitives and lightweight threads, enabling (and encouraging) programmers to develop concurrent systems where components interact…

Programming Languages · Computer Science 2017-03-01 Julien Lange , Nicholas Ng , Bernardo Toninho , Nobuko Yoshida

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

Cryptographic protocols are often specified by narrations, i.e., finite sequences of message exchanges that show the intended execution of the protocol. Another use of narrations is to describe attacks. We propose in this paper to compile,…

Cryptography and Security · Computer Science 2021-09-08 Yannick Chevalier , Michaël Rusinowitch

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…

Programming Languages · Computer Science 2024-04-09 Thien Udomsrirungruang , Nobuko Yoshida

We provide the first denotational semantics for asynchronous multiparty session types with precise asynchronous subtyping. Our semantics enables us to reason about asynchronous message-passing, in which message-sending is non-blocking. It…

Programming Languages · Computer Science 2026-04-14 Dylan McDermott , Nobuko Yoshida

Almost every programming language's syntax includes a notion of binder and corresponding bound occurrences, along with the accompanying notions of $\alpha$-equivalence, capture-avoiding substitution, typing contexts, runtime environments,…

Programming Languages · Computer Science 2021-10-13 Guillaume Allais , Robert Atkey , James Chapman , Conor McBride , James McKinna

Choreographic models support a correctness-by-construction principle in distributed programming. Also, they enable the automatic generation of correct message-based communication patterns from a global specification of the desired system…

Programming Languages · Computer Science 2022-05-16 Lorenzo Gheri , Ivan Lanese , Neil Sayers , Emilio Tuosto , Nobuko Yoshida

Communication is commonly considered a process that is dynamically situated in a temporal context. However, there remains a disconnection between such theoretical dynamicality and the non-dynamical character of communication scholars'…

Social and Information Networks · Computer Science 2026-05-12 Yangliu Fan , Jakob Ohme , Lion Wedel

Protecting confidential data from leaking is a critical challenge in computer systems, particularly given the growing number of observers on the internet. Therefore, limiting information flow using robust security policies becomes…

Modular programming is a cornerstone in software development, as it allows to build complex systems from the assembly of simpler components, and support reusability and substitution principles. In a distributed setting, component assembly…

Programming Languages · Computer Science 2018-01-25 Marco Carbone , Fabrizio Montesi , Hugo Torres Vieira

Advancements in mobile device computing power have made interactive web applications possible, allowing the web browser to render contents dynamically and support low-latency communication with the server. This comes at a cost to the…

Programming Languages · Computer Science 2020-04-06 Anson Miu , Francisco Ferreira , Nobuko Yoshida , Fangyi Zhou
‹ Prev 1 8 9 10 Next ›