ACM Home Page
Please provide us with feedback. Feedback
Mutatis Mutandis: Safe and predictable dynamic software updating
Full text PdfPdf (1.43 MB)
Source
ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 29 ,  Issue 4  (August 2007) table of contents
Article No. 22  
Year of Publication: 2007
ISSN:0164-0925
Authors
Gareth Stoyle  University of Cambridge
Michael Hicks  University of Maryland, College Park, MD
Gavin Bierman  Microsoft Research
Peter Sewell  University of Cambridge
Iulian Neamtiu  University of Maryland, College Park, MD
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 126,   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/1255450.1255455
What is a DOI?

ABSTRACT

This article presents Proteus, a core calculus that models dynamic software updating, a service for fixing bugs and adding features to a running program. Proteus permits a program's type structure to change dynamically but guarantees the updated program remains type-correct by ensuring a property we call con-freeness. We show how con-freeness can be enforced dynamically, and how it can be approximated via a novel static analysis. This analysis can be used to assess the implications of a program's structure on future updates in order to make update success more predictable. We have implemented Proteus for C, and briefly discuss our implementation which we have tested on several well-known programs.


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
 
2
Ajmani, S., Liskov, B., and Shrira, L. 2006. Modular software upgrades for distributed systems. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP).
 
3
 
4
Appel, A. 1994. Hot-Sliding in ML. Unpublished manuscript.
 
5
Armstrong, J. L. and Virding, R. 1991. Erlang---An experimental telephony switching language. In the 13th International Switching Symposium. Stockholm, Sweden.
6
 
7
 
8
Bierman, G., Hicks, M., Sewell, P., and Stoyle, G. 2003a. Formalizing dynamic software updating. In Proceedings of (USE03) the 2nd International Workshop on Unanticipated Software Evolution Warsaw, Poland.
9
 
10
Bloom, T. 1983. Dynamic module replacement in a distributed programming system. Ph.D. thesis, Laboratory for Computer Science, The Massachussets Institute of Technology.
 
11
Bloom, T. and Day, M. 1993. Reconfiguration and module replacement in Argus: Theory and practice. Soft. Engin. J. 8, 2 (March), 102--108.
12
 
13
 
14
 
15
Drossopoulou, S. and Eisenbach, S. 2003. Flexible, source level dynamic linking and re-linking. In Proceedings of the ECOOP 2003 Workshop on Formal Techniques for Java Programs.
16
17
 
18
19
 
20
Gilmore, S., Kirli, D., and Walton, C. 1997. Dynamic ML without dynamic types. Tech. rep. ECS-LFCS-97-378, LFCS, University of Edinburgh.
21
 
22
Gupta, D. 1994. Online software version change. Ph.D. thesis, Department of Computer Science and Engineering, Indian Institute of Technology, Kanpur, India.
 
23
24
 
25
Hicks, M., Tse, S., Hicks, B., and Zdancewic, S. 2005. Dynamic updating of information-flow policies. In Proceedings of the International Workshop on Foundations of Computer Security (FCS).
 
26
 
27
 
28
29
30
31
 
32
 
33
 
34
 
35
Peterson, J., Hudak, P., and Ling, G. S. 1997. Principled dynamic code improvement. Tech. rep. YALEU/DCS/RR-1135, Department of Computer Science, Yale University.
 
36
Soules, C., Appavoo, J., Hui, K., Wisniewski, R. W., Silva, D. D., Ganger, G. R., Krieger, O., Stumm, M., Auslander, M., Ostrowski, M., Rosenburg, B., and Xenidis, J. 2003. System support for online reconfiguration. In Proceedings of the USENIX Annual Technical Conference.
37
38
39
40
 
41
Zorn, B. 2005. Personal communication, based on experience with Microsoft Windows customers.


Collaborative Colleagues:
Gareth Stoyle: colleagues
Michael Hicks: colleagues
Gavin Bierman: colleagues
Peter Sewell: colleagues
Iulian Neamtiu: colleagues