ACM Home Page
Please provide us with feedback. Feedback
A serializability violation detector for shared-memory server programs
Full text PdfPdf (326 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation table of contents
Chicago, IL, USA
SESSION: Bug detection and verification table of contents
Pages: 1 - 14  
Year of Publication: 2005
ISBN:1-59593-056-6
Also published in ...
Authors
Min Xu  University of Wisconsin-Madison
Rastislav Bodík  University of California, Berkeley
Mark D. Hill  University of Wisconsin-Madison
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 94,   Citation Count: 16
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1065010.1065013
What is a DOI?

ABSTRACT

We aim to improve reliability of multithreaded programs by proposing a dynamic detector that detects potentially erroneous program executions and their causes. We design and evaluate a Serializability Violation Detector (SVD) that has two unique goals: (I) triggering automatic recovery from erroneous executions using backward error recovery (BER), or simply alerting users that a software error may have occurred; and (II) helping debug programs by revealing causes of error symptoms.Two properties of SVD help in achieving these goals. First, to detect only erroneous executions, SVD checks serializability of atomic regions, which are code regions that need to be executed atomically. Second, to improve usability, SVD does not require a priori annotations of atomic regions; instead, SVD approximates them using a heuristic. Experimental results on three widely-used multithreaded server programs show that SVD finds real bugs and reports modest false positives. The goal of this paper is to develop a detector suitable for (I) BER-based avoidance of erroneous program executions; and (II) alerting users as software errors occur. We argue that such a detector should have the following two properties.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
Apache HTTP Server Project. http://www.apache.org/.
4
5
 
6
M. Burrows and K. R. M. Leino. Finding stale-value errors in concurrent programs. Technical report, Compaq Systems Research Center Technical Note (2002-04), May 2002.
 
7
8
9
 
10
M. Christiaens and K. D. Bosschere. TRaDe, a topological approach to on-the-fly race detection in java programs. In Proceedings of the Java Virtual Machine Research and Technology Symposium (JVM'01), 2001.
 
11
12
13
14
15
16
17
18
 
19
20
21
22
 
23
MySQL AB. http://www.mysql.com/.
24
 
25
 
26
 
27
PostgreSQL Global Development Group. http://www.postgresql.org/.
 
28
K. Poulsen. SecurityFocus News: Tracking the blackout bug. http://www.securityfocus.com/news/8412.
29
30
31
 
32
M. Ronsse and K. D. Bosschere. Non-intrusive On-the-fly Data Race Detection using Execution Replay. In Automated and Algorithmic Debugging, Nov. 2000.
33
34
 
35
U.S.-Canada Power System Outage Task Force. Final Report on the August 14th Blackout in the United States and Canada. Technical report, Department of Energy, 2004.
36
 
37
Wisconsin Multifacet GEMS Simulator. http://www.cs.wisc.edu/gems/.
38

CITED BY  16

Collaborative Colleagues:
Min Xu: colleagues
Rastislav Bodík: colleagues
Mark D. Hill: colleagues