A parameterized type system for race-free Java programs
- 1 October 2001
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 36 (11) , 56-69
- https://doi.org/10.1145/504282.504287
Abstract
This paper presents a new static type system for multithreaded programs; any well-typed program in our system is free of data races. Our type system is significantly more expressive than previous such type systems. In particular, our system lets programmers write generic code to implement a class, then create different objects of the same class that have different objects of the same class that have different protection mechanisms. This flexibility enables programmers to reduce the number of unnecessary synchronizationoperations in a program without risking data races. We also support default types which reduce the burden of writing extra type annotations. Our experience indicates that our system provides a promising approach to make multithreaded programs more reliable and efficientKeywords
This publication has 23 references indexed in Scilit:
- Type-based race detection for JavaPublished by Association for Computing Machinery (ACM) ,2000
- Effective synchronization removal for JavaPublished by Association for Computing Machinery (ACM) ,2000
- Removing unnecessary synchronization in JavaPublished by Association for Computing Machinery (ACM) ,1999
- Escape analysis for object-oriented languagesPublished by Association for Computing Machinery (ACM) ,1999
- Compatible genericity with run-time types for the Java programming languagePublished by Association for Computing Machinery (ACM) ,1998
- Making the future safe for the pastPublished by Association for Computing Machinery (ACM) ,1998
- Ownership types for flexible alias protectionPublished by Association for Computing Machinery (ACM) ,1998
- Detecting data races in Cilk programs that use locksPublished by Association for Computing Machinery (ACM) ,1998
- Polymorphic effect systemsPublished by Association for Computing Machinery (ACM) ,1988
- Linear logicTheoretical Computer Science, 1987