English
Related papers

Related papers: Deadlock-free Context-free Session Types

200 papers

A recent study of bugs in real-world concurrent and distributed systems found that, while implementations of individual protocols tend to be robust, the composition of multiple protocols and its interplay with internal computation is the…

Programming Languages · Computer Science 2017-08-09 Luís Cruz-Filipe , Fabrizio Montesi

Session types are a typed approach to message-passing concurrency, where types describe sequences of intended exchanges over channels. Session type systems have been given strong logical foundations via Curry-Howard correspondences with…

Logic in Computer Science · Computer Science 2024-08-23 Bas van den Heuvel , Jorge A. Pérez

Type-level programming is an increasingly popular way to obtain additional type safety. Unfortunately, it remains a second-class citizen in the majority of industrially-used programming languages. We propose a new dependently-typed system…

Programming Languages · Computer Science 2020-11-17 Georg Stefan Schmid , Olivier Blanvillain , Jad Hamza , Viktor Kunčak

Session types capture precise protocol structure in concurrent programming, but do not specify properties of the exchanged values beyond their basic type. Refinement types are a form of dependent types that can address this limitation,…

Logic in Computer Science · Computer Science 2012-11-20 Pedro Baltazar , Dimitris Mostrous , Vasco T. Vasconcelos

Many type systems include infinite types. In session type systems, which are the focus of this paper, infinite types are important because they allow the specification of communication protocols that are unbounded in time. Usually infinite…

Programming Languages · Computer Science 2022-01-21 Simon J. Gay , Diogo Poças , Vasco T. Vasconcelos

Type-preserving translations are effective rigorous tools in the study of core programming calculi. In this paper, we develop a new typed translation that connects sequential and concurrent calculi; it is governed by type systems that…

Programming Languages · Computer Science 2022-06-01 Joseph W. N. Paulus , Daniele Nantes-Sobrinho , Jorge A. Pérez

We address the problem of verifying message passing programs, defined as a set of parallel processes communicating through unbounded FIFO buffers. We introduce a bounded analysis that explores a special type of computations, called…

Programming Languages · Computer Science 2018-04-20 Ahmed Bouajjani , Constantin Enea , Kailiang Ji , Shaz Qadeer

Probably building non procedural languages is the most prospective way for parallel programming just because non procedural means no fixed way for execution. The article consists of 3 parts. In first part we consider formal systems for…

Distributed, Parallel, and Cluster Computing · Computer Science 2008-11-03 Renat Nuriyev

Large language models (LLMs) have shown remarkable capabilities in solving complex tasks. Recent work has explored decomposing such tasks into subtasks with independent contexts. However, some contextually related subtasks may encounter…

Computation and Language · Computer Science 2025-04-01 Hongjia Liu , Jinlong Li

We show how security type systems from the literature of language-based noninterference can be represented more directly as predicates defined by structural recursion on the programs. In this context, we show how our uniform syntactic…

Cryptography and Security · Computer Science 2013-08-16 Andrei Popescu

Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell. In this paper, we study a linear type system designed with two crucial properties in mind:…

Programming Languages · Computer Science 2017-11-09 Jean-Philippe Bernardy , Mathieu Boespflug , Ryan R. Newton , Simon Peyton Jones , Arnaud Spiwack

This paper introduces a novel paradigm for the analysis and verification of concurrent programs -- the Singularity Theory. We model the execution space of a concurrent program as a branched topological space, where program states are points…

Programming Languages · Computer Science 2025-10-30 Di Zhang

A challenge for programming language research is to design and implement multi-threaded low-level languages providing static guarantees for memory safety and freedom from data races. Towards this goal, we present a concurrent language…

Programming Languages · Computer Science 2010-02-05 Prodromos Gerakios , Nikolaos Papaspyrou , Konstantinos Sagonas

This paper presents CAMP, a new static performance analysis framework for message-passing concurrent and distributed systems, based on the theory of multiparty session types (MPST). Understanding the run-time performance of concurrent and…

Programming Languages · Computer Science 2020-10-12 David Castro-Perez , Nobuko Yoshida

We propose algebraic protocols that enable the definition of protocol templates and session types analogous to the definition of domain-specific types with algebraic datatypes. Parameterized algebraic protocols subsume all regular as well…

Programming Languages · Computer Science 2023-04-10 Andreia Mordido , Janek Spaderna , Peter Thiemann , Vasco T. Vasconcelos

This paper presents a new and practical approach to lock-free locks based on helping, which allows the user to write code using fine-grained locks, but run it in a lock-free manner. Although lock-free locks have been suggested in the past,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-02-01 Naama Ben-David , Guy E. Blelloch , Yuanhao Wei

Latency-insensitive design mitigates increasing interconnect delay and enables productive component reuse in complex digital systems. This design style has been adopted in high-level design flows because untimed functional blocks connected…

Logic in Computer Science · Computer Science 2021-02-19 Steve Dai , Alicia Klinefelter , Haoxing Ren , Rangharajan Venkatesan , Ben Keller , Nathaniel Pinckney , Brucek Khailany

Component-based development is challenging in a distributed setting, for starters considering programming a task may involve the assembly of loosely-coupled remote components. In order for the task to be fulfilled, the supporting…

Programming Languages · Computer Science 2020-09-18 Zorica Savanović , Letterio Galletta , Hugo Torres Vieira

Current efficient fine-tuning methods (e.g., adapters, prefix-tuning, etc.) have optimized conditional text generation via training a small set of extra parameters of the neural language model, while freezing the rest for efficiency. While…

Computation and Language · Computer Science 2022-05-24 Marjan Ghazvininejad , Vladimir Karpukhin , Vera Gor , Asli Celikyilmaz

Protocols provide the unifying glue in concurrent and distributed software today; verifying that message-passing programs conform to such governing protocols is important but difficult. Static approaches based on multiparty session types…

Programming Languages · Computer Science 2022-05-24 Bas van den Heuvel , Jorge A. Pérez