hardware: challenges and solutions to updating an
operating system on the fly. In Proc. USENIX Annual
Technical Conference.
Bierman, G., Parkinson, M., Noble, J., 2008. UpgradeJ:
Incremental typechecking for class upgrades. In Proc.
ECOOP.
Chen, H., Chen, R., Zhang, F., Zang, B., Yew, P. C., 2006.
Live updating operating systems using virtualization.
In Proc. VEE.
Chen, H., Yu, J., Chen, R., Zang, B., Yew, P., 2007.
POLUS: A POwerful Live Updating System. In Proc.
ICSE.
Dmitriev, M., 2001. Safe Evolution of Large and Long-
Lived Java Applications. PhD thesis, Department of
Computing Science, University of Glasgow, Glasgow
G12 8QQ, Scotland.
Gustavson, J., 2003. A Classification of Unanticipated
Runtime Software Changes in Java. In Proc. ICSM.
Gregersen, A. R., Jørgensen, B. N., 2009. Dynamic update
of Java applications—balancing change flexibility vs
programming transparency. In J. Softw. Maint. Evol.:
Res. Pract. 21.
Gregersen, A. R., Jørgensen, B. N., 2011. Run-time
Phenomena in Dynamic Software Updating: Causes
and Effects. In Proc. IWPSE-EVOL.
Gregersen, A. R., Hadaytullah, Koskimies, K., Jørgensen,
B. N., 2012. An Integrated Platform for Dynamic
Software Updating and its Application in Self-*
systems. In Proc. SCET.
Kabanov, J., 2010. JRebel Tool Demo. In Proc. Bytecode
2010.
Lanza, M., Ducasse, S., Gall, H., and Pinzger, M., 2005.
CodeCrawler: an information visualization tool for
program comprehension. In Proc. ICSE.
Lehman, M. M., 1997. Laws of Software Evolution
Revisited, pos. paper, EWSPT96, Oct. 1996, Lecture
Notes in Computer Science, Vol. 1149, Springer-
Verlag.
Makris, K., Bazzi, R., 2009. Multi-threaded dynamic
software updates using stack reconstruction. In Proc.
USENIX Annual Technical Conference.
Makris, K., Ryu, K. D., 2007. Dynamic and adaptive
updates of non-quiescent subsystems in commodity
operating system kernels. In Proc. EuroSys.
Malabarba, S., Pandey, R., Gragg, J., Barr, E., Barnes, J.
F., 2000. Runtime support for type-safe dynamic Java
classes. In Proc. ECOOP.
Microsoft Corporation. Edit and continue.
http://msdn2.microsoft.com/en-us/library/
bcew296c.aspx, 2008.
Neamtiu, I., Hicks, M., Stoyle, G., Oriol, M., 2006.
Practical dynamic software updating for C. In Proc.
PLDI.
Orso, A., Rao, A., Harrold, M. J., 2002. A technique for
dynamic updating of Java software. In Proc. ICSM.
Ritzau, T., Andersson, J., 2000. Dynamic deployment of
Java applications. In Proc. Java for Embedded
Systems Workshop.
Sato, Y., Chiba, S.,2005. Loosely-separated "Sister"
Namespaces in Java. In Proc. ECOOP’05.
Soules, C., Appavoo, J., Hui, K., Silva, D. D., Ganger, G.,
Krieger, O., Stumm, M., Wisniewski, R., Auslander,
M., Ostrowski, M., Rosenburg, B., Xenidis, J., 2003.
System support for online reconfiguration. In Proc.
USENIX Annual Technical Conference.
Subramanian, S., Hicks, M., McKinley K. S., 2009.
Dynamic software updates: a VM-centric approach.
SIGPLAN No. 44, 6.
Sun Microsystems. Java Platform Debugger Architecture,
2004. This supports class replacement. See
http://java.sun.com/javase/6/docs/technotes/guides
/jpda/.
Würthinger, T., Wimmer,C. and Stadler, L. 2010.
Dynamic code evolution for Java. In Proc. PPPJ.
ICSOFT2013-8thInternationalJointConferenceonSoftwareTechnologies
226