Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleApril 2024
CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis
ASPLOS '24: Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3Pages 223–238https://doi.org/10.1145/3620666.3651358Dynamic analyses are a standard approach to analyzing and testing concurrent programs. Such techniques observe program traces σ and analyze them to infer the presence or absence of bugs. At its core, each analysis maintains a partial order P that ...
- research-articleApril 2022
Efficient data race detection of async-finish programs using vector clocks
PMAM '22: Proceedings of the Thirteenth International Workshop on Programming Models and Applications for Multicores and ManycoresPages 45–54https://doi.org/10.1145/3528425.3529101Existing data race detectors for task-based programs incur significant run time and space overheads. The overheads arise because of frequent lookups in fine-grained tree data structures to check whether two accesses can happen in parallel. This work ...
- research-articleFebruary 2022
A tree clock data structure for causal orderings in concurrent executions
ASPLOS '22: Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating SystemsPages 710–725https://doi.org/10.1145/3503222.3507734Dynamic techniques are a scalable and effective way to analyze concurrent programs. Instead of analyzing all behaviors of a program, these techniques detect errors by focusing on a single program execution. Often a crucial step in these techniques is to ...
- research-articleMay 2019
Detecting atomicity violations for event-driven Node.js applications
ICSE '19: Proceedings of the 41st International Conference on Software EngineeringPages 631–642https://doi.org/10.1109/ICSE.2019.00073Node.js has been widely-used as an event-driven server-side architecture. To improve performance, a task in a Node.js application is usually divided into a group of events, which are non-deterministically scheduled by Node.js. Developers may assume that ...
- research-articleMarch 2018
Static Detection of Event-based Races in Android Apps
ASPLOS '18: Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating SystemsPages 257–270https://doi.org/10.1145/3173162.3173173Event-based races are the main source of concurrency errors in Android apps. Prior approaches for scalable detection of event-based races have been dynamic. Due to their dynamic nature, these approaches suffer from coverage and false negative issues. We ...
Also Published in:
ACM SIGPLAN Notices: Volume 53 Issue 2 - research-articleApril 2017
AsyncClock: Scalable Inference of Asynchronous Event Causality
ASPLOS '17: Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating SystemsPages 193–205https://doi.org/10.1145/3037697.3037712Asynchronous programming model is commonly used in mobile systems and Web 2.0 environments. Asynchronous race detectors use algorithms that are an order of magnitude performance and space inefficient compared to conventional data race detectors. We ...
Also Published in:
ACM SIGPLAN Notices: Volume 52 Issue 4ACM SIGARCH Computer Architecture News: Volume 45 Issue 1 - articleFebruary 2016
An operational happens-before memory model
Frontiers of Computer Science: Selected Publications from Chinese Universities (FCS), Volume 10, Issue 1Pages 54–81https://doi.org/10.1007/s11704-015-4492-4Happens-before memory model (HMM) is used as the basis of Java memory model (JMM). Although HMM itself is simple, some complex axioms have to be introduced in JMM to prevent the causality loop, which causes absurd out-of-thin-air reads that may break ...
- articleAugust 2015
Understanding and identifying latent data races cross-thread interleaving
Frontiers of Computer Science: Selected Publications from Chinese Universities (FCS), Volume 9, Issue 4Pages 524–539https://doi.org/10.1007/s11704-015-4042-0Data races are ubiquitous in multi-threaded applications, but they are by no means easy to detect. One of the most important reasons is the complexity of thread interleavings. A volume of research has been devoted to the interleaving-insensitive ...
- short-paperJune 2015
SDNRacer: detecting concurrency violations in software-defined networks
SOSR '15: Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking ResearchArticle No.: 22, Pages 1–7https://doi.org/10.1145/2774993.2775004Software-Defined Networking (SDN) control software executes in highly asynchronous environments where unexpected concurrency errors can lead to performance or, worse, reachability errors. Unfortunately, detecting such errors is notoriously challenging, ...
- ArticleJuly 2014
Approximating happens-before order: interplay between static analysis and state space traversal
SPIN 2014: Proceedings of the 2014 International SPIN Symposium on Model Checking of SoftwarePages 1–10https://doi.org/10.1145/2632362.2632365Techniques and tools for verification of multi-threaded programs must cope with the huge number of possible thread interleavings. Tools based on systematic exploration of a program state space employ partial order reduction to avoid redundant thread ...
- research-articleFebruary 2013
Array dataflow analysis for polyhedral X10 programs
PPoPP '13: Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programmingPages 23–34https://doi.org/10.1145/2442516.2442520This paper addresses the static analysis of an important class of X10 programs, namely those with finish/async parallelism, and affine loops and array reference structure as in the polyhedral model. For such programs our analysis can certify whenever a ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 8 - research-articleJanuary 2012
Sound predictive race detection in polynomial time
POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 387–400https://doi.org/10.1145/2103656.2103702Data races are among the most reliable indicators of programming errors in concurrent software. For at least two decades, Lamport's happens-before (HB) relation has served as the standard test for detecting races--other techniques, such as lockset-based ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 1 - ArticleOctober 2010
Lightweight Task Graph Inference for Distributed Applications
SRDS '10: Proceedings of the 2010 29th IEEE Symposium on Reliable Distributed SystemsPages 100–110https://doi.org/10.1109/SRDS.2010.20Recent paradigm shifts in distributed computing such as the advent of cloud computing pose new challenges to the analysis of distributed executions. One important new characteristic is that the management staff of computing platforms and the developers ...
- research-articleJuly 2008
On-the-fly race detection in multi-threaded programs
PADTAD '08: Proceedings of the 6th workshop on Parallel and distributed systems: testing, analysis, and debuggingArticle No.: 6, Pages 1–10https://doi.org/10.1145/1390841.1390847Multi-core chips enable parallel processing for general purpose applications. Unfortunately, parallel programs may contain synchronization defects. Such defects are difficult to detect due to nondeterministic interleavings of parallel threads. Current ...
- ArticleJuly 2006
A theory of data race detection
PADTAD '06: Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debuggingPages 69–78https://doi.org/10.1145/1147403.1147416This paper presents a rigorous mathematical theory for the detection of data races in threaded programs. After creating a structure with precise definitions and theorems, it goes on to develop four algorithms with the goal of detecting at least one race ...
- ArticleJune 2003
Hybrid dynamic data race detection
PPoPP '03: Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programmingPages 167–178https://doi.org/10.1145/781498.781528We present a new method for dynamically detecting potential data races in multithreaded programs. Our method improves on the state of the art in accuracy, in usability, and in overhead. We improve accuracy by combining two previously known race ...
Also Published in:
ACM SIGPLAN Notices: Volume 38 Issue 10