|
[ Publications ]
[ Research Opportunities ]
[ Partners & Supporters ]
[ Earlier Work ]
|
|
A Time-Aware Type System For Data-Race Protection and Guaranteed Initialization
|
| Nicholas D. Matsakis,
Thomas R. Gross,
A Time-Aware Type System For Data-Race Protection and Guaranteed Initialization, OOPSLA/SPLASH, October 2010.
[SPLASH_2010.pdf]
|
|
We introduce a type system based on intervals, objects representing
the time in which a block of code will execute. The type system can verify
time-based properties such as when a field will be accessed or a method will be
invoked.
One concrete application of our type system is data-race protection: For
fields which are initialized during one phase of the program and constant
thereafter, users can designate the interval during which the field is mutable.
Code which happens after this initialization interval can safely read
the field in parallel. We also support fields guarded by a lock and even the
use of dynamic race detectors.
Another use for intervals is to designate different phases in the object's
lifetime, such as a constructor phase. The type system then ensures that only
appropriate methods are invoked in each phase.
|
|
[ Publications ]
[ Research Opportunities ]
[ Partners & Supporters ]
[ Earlier Work ]
|