English
Related papers

Related papers: Deadlock-free Context-free Session Types

200 papers

This paper presents the first formalisation of the precise subtyping relation for asynchronous multiparty sessions. We show that our subtyping relation is sound (i.e., guarantees safe process replacement) and also complete: any extension of…

Logic in Computer Science · Computer Science 2020-10-28 Silvia Ghilezan , Jovanka Pantović , Ivan Prokić , Alceste Scalas , Nobuko Yoshida

We investigate a graphical representation of session invocation interdependency in order to prove progress for the pi-calculus with sessions under the usual session typing discipline. We show that those processes whose associated dependency…

Programming Languages · Computer Science 2010-10-28 Marco Carbone , Søren Debois

Real-time systems are computing systems in which the meeting of their requirements is vital for their correctness. Consequently, if the real-time requirements of these systems are poorly understood and verified, the results can be…

Software Engineering · Computer Science 2008-02-05 Miriam C. B. Alves , Christine C. Dantas , Nanci N. Arai , Rovedy B. da Silva

Session types are used to describe communication protocols in distributed systems and, as usual in type theories, session subtyping characterizes substitutability of the communicating processes. We investigate the (un)decidability of…

Programming Languages · Computer Science 2017-07-20 Mario Bravetti , Marco Carbone , Gianluigi Zavattaro

Lock-free concurrent algorithms guarantee that some concurrent operation will always make progress in a finite number of steps. Yet programmers prefer to treat concurrent code as if it were wait-free, guaranteeing that all operations always…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-18 Dan Alistarh , Keren Censor-Hillel , Nir Shavit

Session types guarantee that message-passing processes adhere to predefined communication protocols. Prior work on session types has focused on deterministic languages but many message-passing systems, such as Markov chains and randomized…

Programming Languages · Computer Science 2020-11-19 Ankush Das , Di Wang , Jan Hoffmann

We previously developed a polymorphic type system and a type checker for a multithreaded lock-based polymorphic typed assembly language (MIL) that ensures that well-typed programs do not encounter race conditions. This paper extends such…

Programming Languages · Computer Science 2010-02-05 Vasco T. Vasconcelos , Francisco Martins , Tiago Cogumbreiro

Dependency analysis is a technique to identify and determine data dependencies between service protocols. Protocols evolving concurrently in the service composition need to impose an order in their execution if there exist data…

Software Engineering · Computer Science 2010-07-30 Javier Cubo , Ernesto Pimentel , Gwen Salaün , Carlos Canal

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

Memory management in lock-free data structures remains a major challenge in concurrent programming. Design techniques including read-copy-update (RCU) and hazard pointers provide workable solutions, and are widely used to great effect.…

Programming Languages · Computer Science 2019-02-20 Ismail Kuru , Colin S. Gordon

Program equivalence in linear contexts, where programs are used or executed exactly once, is an important issue in programming languages. However, existing techniques like those based on bisimulations and logical relations only target at…

Programming Languages · Computer Science 2011-10-12 Yuxin Deng , Yu Zhang

Session types enable the specification and verification of communicating systems. However, their theory often assumes that processes never fail. To address this limitation, we present a generalised multiparty session type (MPST) theory with…

Programming Languages · Computer Science 2023-02-22 Adam D. Barwell , Alceste Scalas , Nobuko Yoshida , Fangyi Zhou

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

Multiparty session types are designed to abstractly capture the structure of communication protocols and verify behavioural properties. One important such property is progress, i.e., the absence of deadlock. Distributed algorithms often…

Logic in Computer Science · Computer Science 2025-10-29 Lukas Bartl , Julian Linne , Kirstin Peters

Most works on session types take an equi-recursive approach and do not distinguish among a recursive type and its unfolding. This becomes more important in recent type systems which do not require global types, also known as generalised…

Programming Languages · Computer Science 2025-01-30 Marco Giunti , Nobuko Yoshida

We present a concurrent framework for Win32 programming based on Concurrent ML, a concurrent language with higher-order functions, static typing, lightweight threads and synchronous communication channels. The key points of the framework…

Programming Languages · Computer Science 2007-05-23 Riccardo Pucella

We study the problem of parametric parallel complexity analysis of concurrent, message-passing programs. To make the analysis local and compositional, it is based on a conservative extension of binary session types, which structure the type…

Programming Languages · Computer Science 2018-04-18 Ankush Das , Jan Hoffmann , Frank Pfenning

We consider the problem of verifying deadlock freedom for symmetric cache coherence protocols. In particular, we focus on a specific form of deadlock which is useful for the cache coherence protocol domain and consistent with the internal…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-07-29 Divjyot Sethi , Muralidhar Talupur , Sharad Malik

The cost of communication is a substantial factor affecting the scalability of many distributed applications. Every message sent can incur a cost in storage, computation, energy and bandwidth. Consequently, reducing the communication costs…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-22 Guy Goren , Yoram Moses

The Message Passing Interface (MPI) is the de facto standard message-passing infrastructure for developing parallel applications. Two decades after the first version of the library specification, MPI-based applications are nowadays…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-12-11 Eduardo R. B. Marques , Francisco Martins , Vasco T. Vasconcelos , Nicholas Ng , Nuno Martins