English
Related papers

Related papers: Towards Bug-Free Distributed Go Programs

200 papers

The actor model is an attractive foundation for developing concurrent applications because actors are isolated concurrent entities that communicate through asynchronous messages and do not share state. Thereby, they avoid concurrency bugs…

Programming Languages · Computer Science 2018-04-25 Carmen Torres Lopez , Stefan Marr , Hanspeter Mössenböck , Elisa Gonzalez Boix

Data races are egregious parallel programming bugs on CPUs. They are even worse on GPUs due to the hierarchical thread and memory structure, which makes it possible to write code that is correctly synchronized within a thread group while…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-10 John Jacobson , Martin Burtscher , Ganesh Gopalakrishnan

We consider the task of analyzing message-passing programs by observing their run-time behavior. We introduce a purely library-based instrumentation method to trace communication events during execution. A model of the dependencies among…

Programming Languages · Computer Science 2018-01-31 Martin Sulzmann , Kai Stadtmüller

Sound static analysis can prove the absence of data races by establishing that no two conflicting memory accesses can occur at the same time. We repurpose the concept of digests -- summaries of computational histories originally introduced…

Programming Languages · Computer Science 2025-11-26 Michael Schwarz , Julian Erhard

As technology continues to advance and we usher in the era of Industry 5.0, there has been a profound paradigm shift in operating systems, file systems, web, and network applications. The conventional utilization of multiprocessing and…

Cryptography and Security · Computer Science 2023-12-25 Aishwarya Upadhyay , Vijay Laxmi , Smita Naval

A key computational question underpinning the automated testing and verification of concurrent programs is the consistency question - given a partial execution history, can it be completed in a consistent manner? Due to its importance,…

Programming Languages · Computer Science 2025-12-02 Zheng Shi , Lasse Møldrup , Umang Mathur , Andreas Pavlogiannis

We propose a novel notion of pointer race for concurrent programs manipulating a shared heap. A pointer race is an access to a memory address which was freed, and it is out of the accessor's control whether or not the cell has been…

Programming Languages · Computer Science 2015-11-12 Frédéric Haziza , Lukáš Holík , Roland Meyer , Sebastian Wolff

A determinacy race occurs if two or more logically parallel instructions access the same memory location and at least one of them tries to modify its content. Races often lead to nondeterministic and incorrect program behavior. A data race…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-22 Rathish Das , Shih-Yu Tsai , Sharmila Duppala , Jayson Lynch , Esther M. Arkin , Rezaul Chowdhury , Joseph S. B. Mitchell , Steven Skiena

Writing concurrent programs is highly error-prone due to the nondeterminism in interprocess communication. The most reliable indicators of errors in concurrency are data races, which are accesses to a shared resource that can be executed…

Programming Languages · Computer Science 2019-11-06 Andreas Pavlogiannis

Modern cloud applications delivering global services are often built on distributed systems with a microservice architecture. In such systems, end-to-end user requests traverse multiple different services and machines, exhibiting intricate…

Software Engineering · Computer Science 2025-12-08 Zhiling Deng , Juepeng Wang , Zhuangbin Chen

Data races in GPU programs pose a threat to the reliability of GPU-accelerated software stacks. Prior works proposed various dynamic (runtime) and static (compile-time) techniques to detect races in GPU programs. However, dynamic techniques…

Software Engineering · Computer Science 2026-04-06 Ajay Nayak , Anubhab Ghosh , Arkaprava Basu

We consider the problem of detecting data races in program traces that have been compressed using straight line programs (SLP), which are special context-free grammars that generate exactly one string, namely the trace that they represent.…

Programming Languages · Computer Science 2018-12-19 Dileep Kini , Umang Mathur , Mahesh Viswanathan

The additional complexity caused by concurrently communicating processes in distributed systems render the verification of such systems into a very hard problem. Multiparty session types were developed to govern communication and…

Logic in Computer Science · Computer Science 2019-08-20 Kirstin Peters , Christoph Wagner , Uwe Nestmann

Inspired by distributed resource allocation problems in dynamic topology networks, we initiate the study of distributed consensus with finite messaging passing. We first find a sufficient condition on the network graph for which no…

Information Theory · Computer Science 2010-07-01 Debashis Dash , Ashutosh Sabharwal

Happens before-based dynamic analysis is the go-to technique for detecting data races in large scale software projects due to the absence of false positive reports. However, such analyses are expensive since they employ expensive vector…

Programming Languages · Computer Science 2025-06-26 Mosaad Al Thokair , Minjian Zhang , Umang Mathur , Mahesh Viswanathan

We study the gossip problem in a message-passing environment: When a process receives a message, it has to decide whether the sender has more recent information on other processes than itself. This problem is at the heart of many…

Formal Languages and Automata Theory · Computer Science 2018-04-30 Benedikt Bollig , Marie Fortin , Paul Gastin

In this paper we consider a network of processors aiming at cooperatively solving linear programming problems subject to uncertainty. Each node only knows a common cost function and its local uncertain constraint set. We propose a…

Optimization and Control · Mathematics 2019-08-27 Mohammadreza Chamanbaz , Giuseppe Notarstefano , Roland Bouffanais

We present a static analysis technique for detecting data races in Real-Time Operating System (RTOS) applications. These applications are often employed in safety-critical tasks and the presence of races may lead to erroneous behaviour with…

Programming Languages · Computer Science 2020-10-07 Rishi Tulsyan , Rekha Pai , Deepak D'Souza

Writing reliable concurrent software remains a huge challenge for today's programmers. Programmers rarely reason about their code by explicitly considering different possible inter-leavings of its execution. We consider the problem of…

Programming Languages · Computer Science 2017-12-20 Dileep Kini , Umang Mathur , Mahesh Viswanathan

A fundamental problem in distributed computing is the task of cooperatively executing a given set of $t$ tasks by $p$ processors where the communication medium is dynamic and subject to failures. The dynamics of the communication medium…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-03-27 Chadi Kari , Alexander Russell , Narasimha Shashidhar