lst logo Home ] People ] Research ] Teaching ] CSI ]
Publications
[ 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 ]