ACM Home Page
Please provide us with feedback. Feedback
Type-based race detection for Java
Full text PdfPdf (237 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation table of contents
Vancouver, British Columbia, Canada
Pages: 219 - 232  
Year of Publication: 2000
ISBN:1-58113-199-2
Also published in ...
Authors
Cormac Flanagan  Compaq Systems Research Center, 130 Lytton Ave., Palo Alto, CA
Stephen N. Freund  Department of Computer Science, Stanford University, Stanford, CA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 19,   Downloads (12 Months): 96,   Citation Count: 79
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/349299.349328
What is a DOI?

ABSTRACT

This paper presents a static race detection analysis for multithreaded Java programs. Our analysis is based on a formal type system that is capable of capturing many common synchronization patterns. These patterns include classes with internal synchronization, classes thatrequire client-side synchronization, and thread-local classes. Experience checking over 40,000 lines of Java code with the type system demonstrates that it is an effective approach for eliminating races conditions. On large examples, fewer than 20 additional type annotations per 1000 lines of code were required by the type checker, and we found a number of races in the standard Java libraries and other test programs.


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.

 
ACSE99
AFM97
AG98
 
ANN97
BH99
 
Bir89
Andrew D. Birrell. An introduction to programming with threads. Research Report 35, Digital Equipment Corporation Systems Research Center, 1989.
Bla99
 
BLM96
BOSW98
 
Car97
Luca Cardelli. Mobile ambient synchronization. Technical Report 1997-013, Digital Systems Research Center, Pale Alto, CA, July 1997.
CGS+99
CJ98
 
DE97
S. Drossopoulou and S. Eisenbach. Java is type safe --probably. In European Conference On Object Oriented Programming, pages 389-418, 1997.
 
DLNS98
David L. Detlefs, K. Rustan M. Leino, Greg Nelson, and James B. Saxe. Extended static checking. Research Report 159, Compaq Systems Research Center, 130 Lytton Ave., Pale Alto, CA 94301, USA, December 1998.
 
FA99a
 
FA99b
FKF98
 
GJS96
IPW99
 
Jav98
JavaSoft. Java Developers Kit, version 1.1. http://j ava. sun. corn, 1998.
JG91
 
KM98
LG88
 
LSS99
K. Rustan M. Leino, James B. Saxe, and Raymie Stata. Checking Java programs via guarded commands. Technical Report 1999-002, Compaq 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.
Nie96
NvO98
OW97
SBN+97
 
Ste93
Nicholas Sterling. Warlock: A static data race analysis tool. In USENIX Winter Technical Conference, pages 97-106, 1993.
 
Sym97
Don Syme. Proving Java type soundness. Technical Report 427, University of Cambridge Computer Laboratory Technical Report, 1997.
 
TJ92
Jean-Pierre Talpin and Pierre Jouvelot. Polymorphic type, region and effect inference. Journal of Functional Programming, 2(3):245-271, 1992.
TT94
 
TT97
WR99

CITED BY  79
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Peer to Peer - Readers of this Article have also read: