2011
DOI: 10.1007/s10009-011-0197-7
|View full text |Cite
|
Sign up to set email alerts
|

Finding concurrency-related bugs using random isolation

Abstract: Abstract. This paper describes the methods used in Empire, a tool to detect concurrency-related bugs, namely atomic-set serializability violations in Java programs. The correctness criterion is based on atomic sets of memory locations, which share a consistency property, and units of work, which preserve consistency when executed sequentially. Empire checks that, for each atomic set, its units of work are serializable. This notion subsumes data races (single-location atomic sets), and serializability (all loca… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
33
0

Year Published

2013
2013
2019
2019

Publication Types

Select...
5
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 23 publications
(33 citation statements)
references
References 59 publications
0
33
0
Order By: Relevance
“…Kidd et al [13] proposed to verify atomic-set serializability by model checking techniques. Although this approach is able to explore all executions, it is not scalable even for medium-sized programs [12].…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…Kidd et al [13] proposed to verify atomic-set serializability by model checking techniques. Although this approach is able to explore all executions, it is not scalable even for medium-sized programs [12].…”
Section: Related Workmentioning
confidence: 99%
“…One can alternatively use model checking techniques to enumerate all interleavings. However, model checking techniques for atomic-set serializability [13] are not scalable even for medium-sized programs [12] because the number of possible thread interleavings often grows exponentially with the length of an execution.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Our use of data variables in observers for specifying properties that hold for all data values in some domain is related in spirit to the identification of arbitrary but fixed objects or resources by Emmi et al [13] and Kidd et al [18]. In the framework of regular model checking, universally quantified temporal logic properties can be compiled into automata with data variables that are assigned arbitrary initial values [1].…”
Section: Introductionmentioning
confidence: 99%
“…Our approach to this problem is to leverage progress in model checkers [5,6] that check concurrent programs against temporal logic properties (e.g., linear temporal logic). However, the translation from arbitrary, multiprocess systems to systems that can be reasoned about by model checkers poses key challenges due to potential unboundedness along multiple dimensions.…”
Section: Example 1 Consider the Diagram Inmentioning
confidence: 99%