Home | Contact Info | Directory | About SCS | SCS New Buildings Info |   Giving to SCS   SCS Dean's Advisory Board
CALENDAR OF EVENTS

 

 SCS Calendar Events

 Search for Events by Date

 Submit an Event to the SCS Calendar

When: Wednesday, July 21, 3:30 p.m.- 5:00 p.m.

Where: 8220 Wean Hall

Michael Hicks

POP Seminar

Abstract:
Dynamic software updates can be used to fix bugs or add features to a running program without downtime. Essential for some applications and convenient for others, low-level dynamic updating has been used for many years. Perhaps surprisingly, there is little high-level understanding or language support to help programmers write dynamic updates effectively. To bridge this gap, we present Proteus, a core calculus for dynamic software updating in C-like languages that is flexible, safe, and predictable. Proteus supports dynamic updates to functions (even active ones), to types and to data, allowing on-line evolution to match source-code evolution as we have observed it in practice. All updates are provably type-safe and representation-consistent, meaning that only one version of a given type may exist in the program at any time. This simplifies reasoning and avoids unintuitive copy-based semantics. Finally, Proteus's novel and efficient static updatability analysis allows a programmer to automatically prove that an update is independent of the on-line program state, and thus guarantee that it will succeed at runtime. Proteus admits a straightforward implementation, and we sketch how it could be extended to more advanced language features including threads. Joint work with Gareth Stoyle (Cambridge), Gavin Bierman (MSR Cambridge), Peter Sewell (Cambridge), and Lulian Neamtiu (University of Maryland, College Park). Host: Karl Crary Appointments: Margaret Weigand

<< Back