English
Related papers

Related papers: Fencing off Go: Liveness and Safety for Channel-ba…

200 papers

While chain-of-thought (CoT) monitoring is an appealing AI safety defense, recent work on "unfaithfulness" has cast doubt on its reliability. These findings highlight an important failure mode, particularly when CoT acts as a post-hoc…

Artificial Intelligence · Computer Science 2025-07-08 Scott Emmons , Erik Jenner , David K. Elson , Rif A. Saurous , Senthooran Rajamanoharan , Heng Chen , Irhum Shafkat , Rohin Shah

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

The Message Passing Interface (MPI) is widely used in parallel, high-performance programming, yet writing bug-free software that uses MPI remains difficult. We introduce DafnyMPI, a novel, scalable approach to formally verifying MPI…

Programming Languages · Computer Science 2025-12-23 Aleksandr Fedchin , Antero Mejr , Hari Sundar , Jeffrey S. Foster

We develop and prove sound a concurrent separation logic for Pthreads-style barriers. Although Pthreads barriers are widely used in systems, and separation logic is widely used for verification, there has not been any effort to combine the…

Logic in Computer Science · Computer Science 2015-07-01 Aquinas Hobor , Cristian Gherghina

We present a framework for statically detecting deadlocks in a concurrent object-oriented language with asynchronous method calls and cooperative scheduling of method activations. Since this language features recursion and dynamic resource…

Programming Languages · Computer Science 2015-11-17 Elena Giachino , Cosimo Laneve , Michael Lienhardt

We present a source-to-source transformation framework, GOCC, that consumes lock-based pessimistic concurrency programs in the Go language and transforms them into optimistic concurrency programs that use Hardware Transactional Memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-06-04 Zhizhou Zhang , Milind Chabbi , Adam Welc , Timothy Sherwood

We tackle the problem of statically ensuring that message-passing programs never run into deadlocks. We focus on concurrent functional programs governed by context-free session types, which can express rich tree-like structures not…

Programming Languages · Computer Science 2026-02-24 Andreia Mordido , Jorge A. Pérez

Synthesis is a particularly challenging problem for concurrent programs. At the same time it is a very promising approach, since concurrent programs are difficult to get right, or to analyze with traditional verification techniques. This…

Formal Languages and Automata Theory · Computer Science 2015-06-09 Anca Muscholl

Network protocols are programs with inputs and outputs that follow predefined communication patterns to synchronize and exchange information. There are many protocols and each serves a different purpose, e.g., routing, transport, secure…

Cryptography and Security · Computer Science 2025-11-04 Max von Hippel

Locks are a standard mechanism for synchronizing concurrent threads. The standard lock set construction assumes that critical sections are confined to a single thread, and therefore only accounts for locks acquired within that thread.…

Programming Languages · Computer Science 2026-04-08 Martin Sulzmann

Communicating state machines provide a formal foundation for distributed computation. Unfortunately, they are Turing-complete and, thus, challenging to analyse. In this paper, we classify restrictions on channels which have been proposed to…

Formal Languages and Automata Theory · Computer Science 2022-08-12 Felix Stutz , Damien Zufferey

This paper reports a deliberately small executable proof for a DAG-TOML contract: six "Hello, world!" implementations in Rust, Go, C, Java, TypeScript, and AWK are linked to one observable-output contract, one implementation DAG, one…

Software Engineering · Computer Science 2026-05-28 Werner Kasselman

Covert channels can be utilized to secretly deliver information from high privileged processes to low privileged processes in the context of a high-assurance computing system. In this case study, we investigate the possibility of covert…

Cryptography and Security · Computer Science 2015-08-24 Wolfgang Schmidt , Michael Hanspach , Jörg Keller

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

We present algorithms for checking and enforcing robustness of concurrent programs against the Total Store Ordering (TSO) memory model. A program is robust if all its TSO computations correspond to computations under the Sequential…

Programming Languages · Computer Science 2012-10-30 Ahmed Bouajjani , Egor Derevenetc , Roland Meyer

It is very common to use dynamic methods to detect deadlocks in MPI programs for the reason that static methods have some restrictions. To guarantee high reliability of some important MPI-based application software, a model of MPI…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-09-25 Liao Ming-Xue , He Xiao-Xin , Fan Zhi-Hua

Communicating state machines provide a formal foundation for distributed computation. Unfortunately, they are Turing-complete and, thus, challenging to analyse. In this paper, we classify restrictions on channels which have been proposed to…

Formal Languages and Automata Theory · Computer Science 2022-09-22 Felix Stutz , Damien Zufferey

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

Code generation systems have been extensively developed in recent years to generate source code based on natural language instructions. However, despite their advancements, these systems still face robustness issues where even slightly…

Software Engineering · Computer Science 2023-08-28 Ming Yan , Junjie Chen , Jie M. Zhang , Xuejie Cao , Chen Yang , Mark Harman

Some total languages, like Agda and Coq, allow the use of guarded corecursion to construct infinite values and proofs. Guarded corecursion is a form of recursion in which arbitrary recursive calls are allowed, as long as they are guarded by…

Logic in Computer Science · Computer Science 2010-12-23 Nils Anders Danielsson