00: Michael Hicks, Jonathan T. Moore, Scott Nettles: `Dynamic Software Updating'
Updates via PCC or TAL
C-based target
Tests with FlashEd webserver
`Mostly automatic'
Has a TOPLAS version: 04
01: Gareth Stoyle, Michael Hicks, Gavin Bierman, Peter Sewell, Iulian Neamtiu: `Mutatis Mutandis: Safe and Predictable Dynamic Software Updating'
Proteus: Core calculus for dynamic updates in C-like languages
Test for `con-freeness' (updateability) statically
Implemented and tested for C
Has a TOPLAS version: 06
02: Iulian Neamtiu, Jeff Foster, Mike Hicks: `Understanding Source Code Evolution using AST matching
Matching large C programs (including Linux kernel)
Infers some simple migration steps
Primary goal: software evolution
03: Amol Deshpande, Mike Hicks: `Towards On-Line Schema Evolution for Non-Stop Systems'
Database evolution (analysis focussed on schemata)
04: Mike Hicks, Scott Nettles: `Dynamic Software updating'
TOPLAS version of 00
05: Iulian Neamtiu, Mike Hicks, Gareth Stoyle, Manuel Oriol: `Practical Dynamic Software Updating for C'
`Ginseng' system for dynamic software updates (DSU)
C target
Dynamic updatability with analyses `mostly automatic'
Specially compiled to permit updatability
0 to 32% overhead to addupdatability
06: Gareth Stoyle, Michael Hicks, Gavin Bierman, Peter Sewell, Iulian Neamtiu: `Mutatis Mutandis: Safe and Predictable Dynamic Software Updating'
TOPLAS version of 01
07: Iulian Neamtiu, Mike Hicks, Jeff Foster, Polyvios Pratikakis: `Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming'
Generalisation of effect systems -> `contextual effects'
Split effects into `past effects' and `effect about to occur' (-> similar to our work)
`Transactional Version Consistency': can update safely in the middle of a block
08: Peter Sewell, Gareth Stoyle, Mike Hicks, Gavin Bierman, Keith Wansbrough: `Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction'
Lambda calculus extension for reasoning about module updates
Uses CBV lambda calculus
09: Suria Subramanian, Mike Hicks, Kathryn McKinley: `Dynamic Software Updates: A VM-Centric Approach'
`JVolve' system for DSU
Java target language
No overhead
Supports 20 / 22 updates-of-interest
10: Iulian Neamtiu, Mike Hicks: `Safe and Timely Updates for Multi-threaded programs'
Multi-threadedness delays DSU, reducing `timeliness' of updates
User annotations help
Show that user annotations are seemingly necessary