This paper 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, 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.
[ .pdf ]
@article{StoyleHBSN06,
author = {Gareth Stoyle and Michael Hicks and Gavin Bierman and Peter Sewell and Iulian Neamtiu},
title = {\emph{Mutatis Mutandis}: Safe and Flexible Dynamic Software Updating (full version)},
volume = 29,
number = 4,
journal = {{ACM} Transactions on Programming Languages and Systems (TOPLAS)},
note = {Full version of POPL 05 paper},
year = 2007,
month = aug
}
This file was generated by bibtex2html 1.99.