Introduction
Software systems are imperfect, so software updates are a fact of
life. While typical software updates require stopping and restarting
the program in question, many systems cannot afford to halt service,
or would prefer not to. Dynamic
software updating (DSU) addresses this difficulty by permitting
programs to be updated while they run. DSU is appealing compared
to other approaches for on-line upgrades because it is quite general
and requires no redundant hardware. The challenge is in making
DSU flexible, and yet safe and easy to use. In this project we
are exploring this tension through theoretical programming language
development, and practical implementation experience.
People
Funding
This material is based upon work supported in part by the National
Science Foundation under Grant No. CNS-0346989, CAREER: Programming
Languages for Reliable and Secure Low-level Systems. Any opinions,
findings and conclusions or recomendations expressed in this material
are those of the author(s) and do not necessarily reflect the views
of the National Science Foundation (NSF). This research was also
supported in part by the partnership between UMIACS and the Laboratory
for Telecommunication Sciences (LTS).