English
Related papers

Related papers: Non-intrusive on-the-fly data race detection using…

200 papers

Detection of data races is one of the most important tasks for verifying the correctness of OpenMP parallel codes. Two main models of analysis tools have been proposed for detecting data races: dynamic analysis and static analysis. Dynamic…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-19 Junhyung Shim , Quazi Ishtiaque Mahmud , Ali Jannesari

We consider the problem of data race prediction where the program's behavior is represented by a trace. A trace is a sequence of program events recorded during the execution of the program. We employ the schedulable happens-before relation…

Programming Languages · Computer Science 2019-09-10 Martin Sulzmann , Kai Stadtmüller

As most parallel and distributed programs are internally non-deterministic -- consecutive runs with the same input might result in a different program flow -- vanilla cyclic debugging techniques as such are useless. In order to use cyclic…

Software Engineering · Computer Science 2007-05-23 Michiel Ronsse , Koen De Bosschere , Jacques Chassin de Kergommeaux

Dynamic race detection based on the happens before (HB) partial order has now become the de facto approach to quickly identify data races in multi-threaded software. Most practical implementations for detecting these races use timestamps to…

Programming Languages · Computer Science 2025-04-10 Minjian Zhang , Daniel Wee Soong Lim , Mosaad Al Thokair , Umang Mathur , Mahesh Viswanathan

Reproducing executions of multithreaded programs is very challenging due to many intrinsic and external non-deterministic factors. Existing RnR systems achieve significant progress in terms of performance overhead, but none targets the…

Operating Systems · Computer Science 2018-04-05 Hongyu Liu , Sam Silvestro , Wei Wang , Chen Tian , Tongping Liu

Locks have been widely used as an effective synchronization mechanism among processes and threads. However, we observe that a large number of false inter-thread dependencies (i.e., unnecessary lock contentions) exist during the program…

Programming Languages · Computer Science 2015-04-22 Long Zheng , Xiaofei Liao , Bingsheng He , Song Wu , Hai Jin

It is often difficult to write code that you can ensure will be executed in the right order when programing for parallel compute tasks. Due to the way that today's parallel compute hardware, primarily Graphical Processing Units (GPUs),…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-13 Andrew Osterhout , Ganesh Gopalakrishnan

Redundancy elimination is a key optimization direction, and loop nests are the main optimization target in modern compilers. Previous work on redundancy elimination of array computations in loop nests lacks universality. These approaches…

Performance · Computer Science 2025-06-30 Zixuan Wang , Liang Yuan , Xianmeng Jiang , Kun Li , Junmin Xiao , Yunquan Zhang

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

One of many approaches to better take advantage of parallelism, which has now become mainstream, is the introduction of parallel programming languages. However, parallelism is by nature non-deterministic, and not all parallel bugs can be…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-19 Tomofumi Yuki , Paul Feautrier , Sanjay Rajopadhye , Vijay Saraswat

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

Programmers of distributed systems need to reason about concurrency to avoid races. However, reasoning about concurrency is difficult, and unexpected races show up as bugs. Data race detection in shared memory systems is well-studied…

Software Engineering · Computer Science 2025-07-28 Zhengqun Koo

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

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

This paper presents a lightweight formalism (a trace) to model message-passing concurrent executions where some common common problems can be identified, like lost or delayed messages, some forms of deadlock, etc. In particular, we consider…

Programming Languages · Computer Science 2022-02-23 Juan José González-Abril , Germán Vidal

Writing concurrent programs is notoriously hard due to scheduling non-determinism. The most common concurrency bugs are data races, which are accesses to a shared resource that can be executed concurrently. Dynamic data-race prediction is…

Logic in Computer Science · Computer Science 2020-05-05 Umang Mathur , Andreas Pavlogiannis , Mahesh Viswanathan

The replay attack detection problem is studied from a new perspective based on parity space method in this paper. The proposed detection methods have the ability to distinguish system fault and replay attack, handle both input and output…

Systems and Control · Electrical Eng. & Systems 2023-06-06 Dong Zhao , Yang Shi , Steven X. Ding , Yueyang Li , Fangzhou Fu

Data races are among the most common bugs in concurrency. The standard approach to data-race detection is via dynamic analyses, which work over executions of concurrent programs, instead of the program source code. The rich literature on…

Programming Languages · Computer Science 2021-07-09 Rucha Kulkarni , Umang Mathur , Andreas Pavlogiannis

Implementing bug-free concurrent programs is a challenging task in modern software development. State-of-the-art static analyses find hundreds of concurrency bugs in production code, scaling to large codebases. Yet, fixing these bugs in…

Software Engineering · Computer Science 2021-08-09 Andreea Costea , Abhishek Tiwari , Sigmund Chianasta , Kishore R , Abhik Roychoudhury , Ilya Sergey

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