2014
DOI: 10.1145/2666356.2594335
|View full text |Cite
|
Sign up to set email alerts
|

Test-driven repair of data races in structured parallel programs

Abstract: A common workflow for developing parallel software is as follows: 1) start with a sequential program, 2) identify subcomputations that should be converted to parallel tasks, 3) insert synchronization to achieve the same semantics as the sequential program, and repeat steps 2) and 3) as needed to improve performance. Though this is not the only approach to developing parallel software, it is sufficiently common to warrant special attention as parallel programming becomes ubiquitous. This paper focuses on automa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
7
0

Year Published

2015
2015
2022
2022

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(7 citation statements)
references
References 22 publications
0
7
0
Order By: Relevance
“…Test-driven repair [27] combines static and dynamic analysis to identify modifications to code that will prevent races. We differ from these approaches in terms of the intended application and the underlying mechanism.…”
Section: Related Workmentioning
confidence: 99%
“…Test-driven repair [27] combines static and dynamic analysis to identify modifications to code that will prevent races. We differ from these approaches in terms of the intended application and the underlying mechanism.…”
Section: Related Workmentioning
confidence: 99%
“…As shown in our experiments, our approach gives better performance without manual intervention. Various techniques [31,44,40] have been proposed to maximize parallelism in programs. Burnim et al [6] propose an assertion framework for specifying that regions of a parallel program behave deterministically despite nondeterministic thread interleaving.…”
Section: Related Workmentioning
confidence: 99%
“…Cerny et al [7] propose a technique to transform and add synchronization constructs in the concurrent program so that the performance is optimized. A number of approaches have also been proposed for auto-repair of multithreaded programs [44,24]. While these approach work in a non-deterministic environment for structured parallel languages, we propose an approach for reducing execution times on stable multithreaded systems on unstructured parallel languages.…”
Section: Related Workmentioning
confidence: 99%
“…K. Wang is with Visa Research, USA (email: kewang@visa.com). concurrency fault repair [34], [38], [43], [44], [73]. These techniques, however, focus on thread-level races.…”
Section: Introductionmentioning
confidence: 99%