[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Var-free programming (slightly off-topic)

On Tue, 2001-12-04 at 11:52, Shriram Krishnamurthi wrote:
> Because we have so much work on static upgrading, the PLT group at
> Brown University has been studying the upgrading tasks that are per
> force dynamic.

There has actually been quite a bit of work in dynamic upgrade over the
years: some in the PL community, some in database community (with regard
to schema changes).

A seminal paper is:

    R. S. Fabry. "How to design systems in which modules can be changed
    on the fly." In Proceedings of the Second International Conference
    on Software Engineering, 1976.

Some takes on it in C, C++, and Java are:

    Michael Hicks, Jonathan T. Moore, and Scott M. Nettles. "Dynamic
    software updating." In Proceedings of the ACM SIGPLAN Conference on
    Programming Language Design and Implementation, June 2001.
    Gísli Hjálmtýsson and Robert Gray. "Dynamic C++ classes - A
    Lightweight mechanism to update code in a running program." In
    Proceedings of the USENIX Annual Technical Conference, pp. 65-76,
    June, 1998.
    Scott Malabarba, Raju Pandey, Jeff Gragg, Earl Barr, and J. Fritz
    Barnes. "Runtime support for type-safe dynamic Java classes." In
    Proceedings of the Fourteenth European Conference on Object-Oriented
    Programming, June 2000.
This stuff all has widely varying notions about the safety (type and
otherwise) and completeness of upgrades, and some of it's not terrible
interesting. There's also weird stuff like:

    Deepak Gupta and Pankaj Jalote. "On-line software version change
    using state transfer between processes". Software - Practice and
    Experience, 23(9):949-964, September 1993.

which copies data and stack from an old process into an upgraded