Contextual effects for version-consistent dynamic software updating and safe concurrent programming

Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis

Research output: Chapter in Book/Report/Conference proceedingConference contribution

35 Scopus citations

Abstract

This 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 computethe 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. TV Censures 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.

Original languageEnglish (US)
Title of host publicationPOPL'08 - Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Pages37-49
Number of pages13
DOIs
StatePublished - 2008
Externally publishedYes
Event35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'08 - San Francisco, CA, United States
Duration: Jan 7 2008Jan 12 2008

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Other

Other35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'08
CountryUnited States
CitySan Francisco, CA
Period1/7/081/12/08

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • computation effects
  • contextual effects
  • data race detection
  • dynamic software updating
  • type and effect systems
  • version consistency

Fingerprint Dive into the research topics of 'Contextual effects for version-consistent dynamic software updating and safe concurrent programming'. Together they form a unique fingerprint.

Cite this