Controlled, systematic, and efficient code replacement for running Java programs
Metadata only
Date
2007Type
- Report
ETH Bibliography
yes
Altmetrics
Abstract
We present a system that performs reversible and systematic changes to running Java applications without requiring them to be shutdown. PROSE is motivated by scenarios such as hotfixes, online program instrumentation and debugging, and evolution of critical legacy applications. Modifications take the form of replacement method bodies, and can use both type-based and regular expression patterns to select code for replacement. New code can make use of replaced method implementations cleanly, facilitating code evolution. Changes are composable, and may be reordered or selectively withdrawn at any time. Furthermore, the modifications are expressed as Java classes, providing additional development benefits. We describe the architecture of PROSE, the challenges of using aggressive inlining to achieve performance, and use standard benchmarks to demonstrate code performance comparable (or better than) compile-time systems from the Aspect-Oriented Programming community. Show more
Publication status
publishedJournal / series
Technical Report / ETH Zurich, Department of Computer ScienceVolume
Publisher
ETH, Swiss Federal Institute of Technology Zurich, Institute for Pervasive ComputingSubject
Dynamic adaptation; Method code replacement at run-time; controlled; Systematic; Efficient; AOPOrganisational unit
02150 - Dep. Informatik / Dep. of Computer Science
Notes
Technicals Reports D-Infk. See also http://e-citations.ethbib.ethz.ch/view/pub:22471. See also http://e-citations.ethbib.ethz.ch/view/pub:18019.More
Show all metadata
ETH Bibliography
yes
Altmetrics