Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems 2006
DOI: 10.1145/1168857.1168886
|View full text |Cite
|
Sign up to set email alerts
|

Recording shared memory dependencies using strata

Abstract: Significant time is spent by companies trying to reproduce and fix bugs. BugNet and FDR are recent architecture proposals that provide architecture support for deterministic replay debugging. They focus on continuously recording information about the program's execution, which can be communicated back to the developer. Using that information, the developer can deterministically replay the program's execution to reproduce and fix the bugs.In this paper, we propose using Strata to efficiently capture the shared … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
43
0

Year Published

2008
2008
2016
2016

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 119 publications
(43 citation statements)
references
References 15 publications
0
43
0
Order By: Relevance
“…Fortunately, recent work has proposed hardware support for multithreaded deterministic replay, in general, and, memory race recording, in particular [25,26,39,40]. These systems log the outcome of memory races as they occur.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Fortunately, recent work has proposed hardware support for multithreaded deterministic replay, in general, and, memory race recording, in particular [25,26,39,40]. These systems log the outcome of memory races as they occur.…”
Section: Introductionmentioning
confidence: 99%
“…Hardware vendors would like to see this state reduced, in part, because it is cost paid even when recording is disabled. Strata [25] reduces this state, performs well for four-core systems, but, suffers a substantial increase in per-core log sizes as the number of cores per system grows (Section 5).…”
Section: Introductionmentioning
confidence: 99%
“…Debugging is looking for the anomalies in the code, which are syntactic patterns that evidence a programming error or irrespective use of the language specification, e.g., using a variable before it has been defined. Dependency analysis supports debugging for looking for various kinds of anomalies in program statements (Podgurski and Clarke 1990), bug introduction in C/C++ programs (Bohnet et al 2009), replay debugging for multi-threaded programs (Narayanasamy 2006), and even debugging of aspect-oriented software (Ishio et al 2004). …”
Section: Quality Assurance Testing and Debuggingmentioning
confidence: 99%
“…Then, the solutions analyze the repositories using data-mining algorithm, statistical analysis, (Agarwal et al 2004;Brown et al 2001;Gupta et al 2003;Li et al 2005b). Other solutions use hardware-based monitoring mechanisms to capture shared memory dependencies for supporting debugging activities (Narayanasamy 2006).…”
Section: Run-time Monitored Solutionsmentioning
confidence: 99%
“…Furthermore, there is demand for even more complex tools that detect concurrency bugs such as data races [27] and atomicity violations [13], [11], [26], or record shared memory dependencies for later playback as in Strata [18]. HARD [40] proposes tightly integrated hardware acceleration of the lockset based race detection algorithm with 16 bit tags for cache lines and additional logic to update the tags.…”
Section: Related Workmentioning
confidence: 99%