USENIX Annual Technical Conference (NO 98), 1998
Dynamic C++ Classes: A lightweight mechanism to update code in a running program
Gísli Hjálmtysson, AT&T Labs - Research;
Robert Gray, Dartmouth College
Techniques for dynamically adding new code to a running program already
exist in various operating systems, programming languages and runtime
environments. Most of these systems have not found their way into common
use, however, since they require programmer retraining and invalidate
previous software investments. In addition, many of the systems are too
high-level for performance-critical applications. This paper presents an
implementation of dynamic classes for the C++ language. Dynamic
classes allow run-time updates of an executing C++ program at the class
level. Our implementation is a lightweight proxy class that exploits
only common C++ features and can be compiled with most modern compilers.
The proxy supports version updates of existing classes as well as the
introduction of new classes. Our language choice and proxy
implementation is targeted towards performance-critical applications
such as low-level networking in which the use of C++ is already
- View the full text of this paper in
HTML form and
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.