Mutatis Mutandis:: Safe and predictable dynamic software updating

被引:33
|
作者
Stoyle, Gareth [1 ]
Hicks, Michael
Bierman, Gavin
Sewell, Peter
Neamtiu, Iulian
机构
[1] Univ Cambridge, Cambridge CB2 1TN, England
[2] Univ Maryland, College Pk, MD 20742 USA
基金
英国工程与自然科学研究理事会;
关键词
design; languages; reliability; theory; verification; dynamic software updating; updateability analysis; type inference; capability proteusdesign;
D O I
10.1145/1255450.1255455
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:70
相关论文
共 50 条