The platform will undergo maintenance on Sep 14 at about 7:45 AM EST and will be unavailable for approximately 2 hours.
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering 2014
DOI: 10.1145/2635868.2635885
|View full text |Cite
|
Sign up to set email alerts
|

AI: a lightweight system for tolerating concurrency bugs

Abstract: Concurrency bugs are notoriously difficult to eradicate during software testing because of their non-deterministic nature. Moreover, fixing concurrency bugs is time-consuming and error-prone. Thus, tolerating concurrency bugs during production runs is an attractive complementary approach to bug detection and testing. Unfortunately, existing bug-tolerating tools are usually either 1) constrained in types of bugs they can handle or 2) requiring roll-back mechanism, which can hitherto not be fully achieved effici… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
5
0

Year Published

2015
2015
2022
2022

Publication Types

Select...
4
3

Relationship

1
6

Authors

Journals

citations
Cited by 11 publications
(5 citation statements)
references
References 39 publications
0
5
0
Order By: Relevance
“…Non-deadlock bugs include two major categories: atomicity-violation bugs and order-violation bugs [38]. Researchers have developed many tools to detect [26,39,55] or fix [64,66] concurrency bugs based on the two patterns. However, concurrency bugs for PM are substantially different from conventional DRAMbased concurrency bugs due to persistency dimension and crashconsistency models (e.g., durable linearizability [23]).…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Non-deadlock bugs include two major categories: atomicity-violation bugs and order-violation bugs [38]. Researchers have developed many tools to detect [26,39,55] or fix [64,66] concurrency bugs based on the two patterns. However, concurrency bugs for PM are substantially different from conventional DRAMbased concurrency bugs due to persistency dimension and crashconsistency models (e.g., durable linearizability [23]).…”
Section: Related Workmentioning
confidence: 99%
“…However, both branch coverage and PM path coverage fail to represent the context changes of thread interleavings. In order to explore different thread interleavings, there are three categories of techniques: multiple runs with random scheduler, delay injection [33,47,60,66], and interleaving enumeration [18,25]. Unlike existing schemes, PMRace leverages the crash-consistency patterns in PM programs and focuses on the buggy read-after-write interleavings, thus significantly reducing the search space of interleavings.…”
Section: Related Workmentioning
confidence: 99%
“…Other techniques steer away from nondeterministic errors by postponing selected actions, much like our approach but for multi-threaded programs. The AI technique [32] attempts to stall threads where manifestation of a concurrency bug is about to become deterministic. Kivati [6] uses static analysis and hardware watchpoints to detect atomicity violations and then dynamically reorders the relevant instructions.…”
Section: Related Workmentioning
confidence: 99%
“…e currently ubiquitous multicore architecture necessitates concurrent programming, especially multithreaded programming [1][2][3]. Unfortunately, writing concurrent programs is challenging: multithreaded programs often suffer from concurrency bugs such as deadlocks, data races, atomicity violations, and order violations [4], which are notoriously difficult to expose [5,6], detect [6][7][8], debug [8], and repair [9,10] because of their nondeterminism nature.…”
Section: Introductionmentioning
confidence: 99%