Show simple item record

Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming

dc.contributor.authorNeamtiu, Iulian
dc.contributor.authorHicks, Michael
dc.contributor.authorFoster, Jeffrey S.
dc.contributor.authorPratikakis, Polyvios
dc.description.abstractThis paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes the effects of the computational context in which e occurs. More specifically, we compute the effect of the computation that has already occurred (the prior effect) and the effect of the computation yet to take place (the future effect). Contextual effects are useful when the past or future computation of the program is relevant at various program points. We present two substantial examples. First, we show how prior and future effects can be used to enforce transactional version consistency (TVC), a novel correctness property for dynamic software updates. TVC ensures that programmer-designated transactional code blocks appear to execute entirely at the same code version, even if a dynamic update occurs in the middle of the block. Second, we show how future effects can be used in the analysis of multi-threaded programs to find thread-shared locations. This is an essential step in applications such as data race detection.en
dc.format.extent652098 bytes
dc.relation.ispartofseriesUM Computer Science Departmenten
dc.titleContextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programmingen
dc.typeTechnical Reporten

Files in this item


This item appears in the following Collection(s)

Show simple item record