Mutatis Mutandis: Safe and predictable dynamic software updating

  • Authors:
  • Gareth Stoyle;Michael Hicks;Gavin Bierman;Peter Sewell;Iulian Neamtiu

  • Affiliations:
  • University of Cambridge;University of Maryland, College Park, MD;Microsoft Research;University of Cambridge;University of Maryland, College Park, MD

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS)
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

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.