English
Related papers

Related papers: Detecting Race Conditions in Parallel Programs tha…

200 papers

Any graph with maximum degree $\Delta$ admits a proper vertex coloring with $\Delta + 1$ colors that can be found via a simple sequential greedy algorithm in linear time and space. But can one find such a coloring via a sublinear algorithm?…

Data Structures and Algorithms · Computer Science 2019-01-08 Sepehr Assadi , Yu Chen , Sanjeev Khanna

Symbolic execution is a software verification technique symbolically running programs and thereby checking for bugs. Ranged symbolic execution performs symbolic execution on program parts, so called path ranges, in parallel. Due to the…

Software Engineering · Computer Science 2024-06-28 Jan Haltermanna , Marie-Christine Jakobs , Cedric Richter , Heike Wehrheim

The aim of the paper is to introduce general techniques in order to optimize the parallel execution time of sorting on a distributed architectures with processors of various speeds. Such an application requires a partitioning step. For…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-16 Christophe Cérin , Jean-Christophe Dubacq , Jean-Louis Roch , the SafeScale Collaboration

Dynamic data race detectors are indispensable for flagging concurrency errors in software, but their high runtime overhead limits their adoption. This overhead stems primarily from pervasive instrumentation of memory accesses - a…

Programming Languages · Computer Science 2025-12-08 Alexey Paznikov , Andrey Kogutenko , Yaroslav Osipov , Michael Schwarz , Umang Mathur

Dynamic data race detection has emerged as a key technique for ensuring reliability of concurrent software in practice. However, dynamic approaches can often miss data races owing to nondeterminism in the thread scheduler. Predictive race…

Software Engineering · Computer Science 2024-01-12 Zheng Shi , Umang Mathur , Andreas Pavlogiannis

We present efficient parallel algorithms for computing maximal matchings in hypergraphs. Our algorithm finds locally maximal edges in the hypergraph and adds them in parallel to the matching. In the CRCW PRAM models our algorithms achieve…

Data Structures and Algorithms · Computer Science 2026-03-13 Henrik Reinstädtler , Christian Schulz , Nodari Sitchinava , Fabian Walliser

Programming models for concurrency are optimized for dealing with nondeterminism, for example to handle asynchronously arriving events. To shield the developer from data race errors effectively, such models may prevent shared access to data…

Software Engineering · Computer Science 2014-10-24 Mischael Schill , Sebastian Nanz , Bertrand Meyer

We address the problem of statically checking control state reachability (as in possibility of assertion violations, race conditions or runtime errors) and plain reachability (as in deadlock-freedom) of phaser programs. Phasers are a modern…

Programming Languages · Computer Science 2017-08-10 Zeinab Ganjei , Ahmed Rezine , Petru Eles , Zebo Peng

Dynamic race detection is the problem of determining if an observed program execution reveals the presence of a data race in a program. The classical approach to solving this problem is to detect if there is a pair of conflicting memory…

Programming Languages · Computer Science 2018-08-02 Umang Mathur , Dileep Kini , Mahesh Viswanathan

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

This paper presents a practical solution for detecting data races in parallel programs. The solution consists of a combination of execution replay (RecPlay) with automatic on-the-fly data race detection. This combination enables us to…

Software Engineering · Computer Science 2007-05-23 Michiel Ronsse , Koen De Bosschere

Fixed-parameter algorithms have been successfully applied to solve numerous difficult problems within acceptable time bounds on large inputs. However, most fixed-parameter algorithms are inherently \emph{sequential} and, thus, make no use…

Computational Complexity · Computer Science 2015-09-24 Max Bannach , Christoph Stockhusen , Till Tantau

Maximizing parallelism level in applications can be achieved by minimizing overheads due to load imbalances and waiting time due to memory latencies. Compiler optimization is one of the most effective solutions to tackle this problem. The…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-03-29 Zahra Khatami , Hartmut Kaiser , J. Ramanujam

This work proposes a novel approach to evaluate and analyze the behavior of multi-population parallel genetic algorithms (PGAs) when running on a cluster of multi-core processors. In particular, we deeply study their numerical and…

Neural and Evolutionary Computing · Computer Science 2025-08-05 Tomohiro Harada , Enrique Alba , Gabriel Luque

We show that the Hausdorff distance for two sets of non-intersecting line segments can be computed in parallel in $O(\log^2 n)$ time using O(n) processors in a CREW-PRAM computation model. We discuss how some parts of the sequential…

Computational Geometry · Computer Science 2012-07-18 Helmut Alt , Ludmila Scharf

Previous work has shown that there are two major complexity barriers in the synthesis of fault-tolerant distributed programs: (1) generation of fault-span, the set of states reachable in the presence of faults, and (2) resolving deadlock…

Distributed, Parallel, and Cluster Computing · Computer Science 2009-12-15 Fuad Abujarad , Borzoo Bonakdarpour , Sandeep S. Kulkarni

Stochastic Processing Networks (SPNs) can be used to model communication networks, manufacturing systems, service systems, etc. We consider a real-time SPN where tasks generate jobs with strict deadlines according to their traffic patterns.…

Networking and Internet Architecture · Computer Science 2012-04-23 I-Hong Hou , Rahul Singh

Understanding the behavior of software in execution is a key step in identifying and fixing performance issues. This is especially important in high performance computing contexts where even minor performance tweaks can translate into large…

Different from sequential programs, parallel programs possess their own characteristics which are difficult to analyze in the multi-process or multi-thread environment. This paper presents an innovative method to automatically analyze the…

Distributed, Parallel, and Cluster Computing · Computer Science 2009-06-09 Xu Liu , Jianfeng Zhan , Bibo Tu , Ming Zou , Dan Meng

We study the linearizability monitoring problem, which asks whether a given concurrent history of a data structure is equivalent to some sequential execution of the same data structure. In general, this problem is $\textsf{NP}$-hard, even…

Programming Languages · Computer Science 2026-05-26 Lee Zheng Han , Umang Mathur