ACM Home Page
Please provide us with feedback. Feedback
Contextual effects for version-consistent dynamic software updating and safe concurrent programming
Full text PdfPdf (430 KB)
Source
Annual Symposium on Principles of Programming Languages archive
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, USA
SESSION: Session 2 table of contents
Pages 37-49  
Year of Publication: 2008
ISBN:978-1-59593-689-9
Also published in ...
Authors
Iulian Neamtiu  University of Maryland, College Park, MD
Michael Hicks  University of Maryland, College Park, MD
Jeffrey S. Foster  University of Maryland, College Park, MD
Polyvios Pratikakis  University of Maryland, College Park, MD
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 93,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1328438.1328447
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Martin Abadi and Cedric Fournet. Access control based on execution history. In NDSS, 2003.
 
2
 
3
4
5
 
6
7
8
9
 
10
Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, LFCS, University of Edinburgh, 1997.
11
12
 
13
Michael Hicks, Jeffrey S. Foster, and Polyvios Pratikakis. Lock Inference for Atomic Sections. In TRANSACT, 2006.
14
 
15
John Kodumal and Alexander Aiken. Banshee: A scalable constraint-based analysis toolkit. In SAS, 2005.
16
 
17
 
18
John M. Lucassen. Types and Effects: Towards the Integration of Functional and Imperative Programming. PhD thesis, MIT Laboratory for Computer Science, August 1987. MIT/LCS/TR-408.
19
20
 
21
John C. Mitchell. Type inference with simple subtypes. JFP, 1(3):245--285, July 1991.
22
23
24
25
 
26
Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, and Polyvios Pratikakis. Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming. Technical Report CS-TR-4920, Dept. of Computer Science, University of Maryland, November 2007.
 
27
28
 
29
30
31
 
32
 
33
 
34
Craig AN. Soules, Jonathan Appavoo, Kevin Hui, et al. System support for online reconfiguration. In USENIX, 2003.
35
36
37


Collaborative Colleagues:
Iulian Neamtiu: colleagues
Michael Hicks: colleagues
Jeffrey S. Foster: colleagues
Polyvios Pratikakis: colleagues