The use of shared mutable state, commonly seen in object-oriented systems, is often problematic due to the potential conflicting interactions between aliases to the same state. We present a substructural type system outfitted with a novel lightweight interference control mechanism, rely-guarantee protocols, that enables controlled aliasing of shared resources. By assigning each alias separate roles, encoded in a novel protocol abstraction in the spirit of rely-guarantee reasoning, our type system ensures that challenging uses of shared state will never interfere in an unsafe fashion. In particular, rely-guarantee protocols ensure that each alias will never observe an unexpected value, or type, when inspecting shared memory regardless of how...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
The rely-guarantee technique allows one to reason compositionally about concurrent programs. To hand...
The possibility of aliasing between objects constitutes one of the primary challenges in understand...
<p>The use of shared mutable state, commonly seen in object-oriented systems, is often problematic d...
Mutable state can be useful in certain algorithms, to structure programs, or for efficiency purpose...
The undisciplined use of shared mutable state can be a source of program errors when aliases unsafel...
Reasoning about side effects and aliasing is the heart of verifying imperative programs. Unrestricte...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
The proliferation of shared mutable state in object-orientedprogramming complicates software develop...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Secure cooperation is the problem of protecting mutually suspicious code units within the same execu...
The proliferation of shared mutable state in object-oriented programming complicates software develo...
Thesis (Ph.D.)--University of Washington, 2014This dissertation proposes a family of techniques for ...
Aliasing is endemic in object oriented programming. Because an object can be modified via any alias,...
Abstract. Aliasing is endemic in object oriented programming. Because an object can be modified via ...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
The rely-guarantee technique allows one to reason compositionally about concurrent programs. To hand...
The possibility of aliasing between objects constitutes one of the primary challenges in understand...
<p>The use of shared mutable state, commonly seen in object-oriented systems, is often problematic d...
Mutable state can be useful in certain algorithms, to structure programs, or for efficiency purpose...
The undisciplined use of shared mutable state can be a source of program errors when aliases unsafel...
Reasoning about side effects and aliasing is the heart of verifying imperative programs. Unrestricte...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
The proliferation of shared mutable state in object-orientedprogramming complicates software develop...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Secure cooperation is the problem of protecting mutually suspicious code units within the same execu...
The proliferation of shared mutable state in object-oriented programming complicates software develo...
Thesis (Ph.D.)--University of Washington, 2014This dissertation proposes a family of techniques for ...
Aliasing is endemic in object oriented programming. Because an object can be modified via any alias,...
Abstract. Aliasing is endemic in object oriented programming. Because an object can be modified via ...
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breac...
The rely-guarantee technique allows one to reason compositionally about concurrent programs. To hand...
The possibility of aliasing between objects constitutes one of the primary challenges in understand...