ACM Home Page
Please provide us with feedback. Feedback
Detecting race conditions in large programs
Full text PdfPdf (163 KB)
Source Workshop on Program Analysis for Software Tools and Engineering archive
Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering table of contents
Snowbird, Utah, United States
Pages: 90 - 96  
Year of Publication: 2001
ISBN:1-58113-413-4
Authors
Cormac Flanagan  Compaq Systems Research Center, 130 Lytton Ave., Palo Alto, CA
Stephen N. Freund  Compaq Systems Research Center, 130 Lytton Ave., Palo Alto, CA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 36,   Citation Count: 19
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/379605.379687
What is a DOI?

ABSTRACT

The race condition checker \rcc{} statically identifies potential races in concurrent Java programs. This paper describes improvements to \rcc{} that enable it to be used on large, realistic programs. These improvements include not only extensions to the underlying analysis, but also an annotation inference algorithm and a user interface to help programmers understand warnings generated by the tool. Experience with programs containing up to 500,000 lines of code indicate that it is an effective tool for identifying races in large-scale software systems.


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
A. D. Birrell. An introduction to programming with threads. Research Report 35, Digital Equipment Corporation Systems Research Center, 1989.
4
5
 
6
L. Cardelli. Mobile ambient synchronization. Technical Report 1997-013, Digital Systems Research Center, Palo Alto, CA, July 1997.
7
8
 
9
10
 
11
 
12
 
13
14
 
15
 
16
K. R. M. Leino, J. B. Saxe, and R. Stata. Checking Java programs via guarded commands. Technical Report 1999-002, Cornpaq Systems Research Center, Palo Alto, CA, May 1999. Also appeared in Formal Techniques for Java Programs, workshop proceedings. Bart Jacobs, Gary T. Leavens, Peter Muller, and Arnd Poetzsch-Heffter, editors. Technical Report 251, Fernuniversitat Hagen, 1999.
17
18
 
19
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6(4):97-106, 1976.
 
20
Standard Performance Evaluation Corporation. SPEC JBB2000. available from http://www.spec.org/osg/jbb2000/, June 2000.
 
21
N. Sterling. Warlock: A static data race analysis tool. In USENIX Winter Technical Conference, pages 97-106, 1993.
 
22
J.-P. Talpin and P. Jouvelot. Polymorphic type, region and effect inference. Journal of Fanctional Programming, 2(3):245 271, 1992.
23
 
24
25
26
 
27
World Wide Web Consortium. Jigsaw. available from http://www.w3c.org, January 2001.
 
28
J. Yang, G. Michaelson, P. Trinder, and J. B. Wells. Improved Type Error Reporting. In M. Mohnen and P. Koopman, editors, Proceedings of the 12th International Workshop on Irnplementation of Fanctional Languages, number AIB-00-7 in Aachener Informatik Berichte, pages 7186. RWTH Aachen, 2000.
 
29

CITED BY  19

Collaborative Colleagues:
Cormac Flanagan: colleagues
Stephen N. Freund: colleagues