TY - GEN
T1 - Incinerator - Eliminating Stale References in Dynamic OSGi Applications
AU - Attouchi, Koutheir
AU - Thomas, Gael
AU - Muller, Gilles
AU - Lawall, Julia
AU - Bottaro, Andre
N1 - Publisher Copyright:
© 2015 IEEE.
PY - 2015/9/14
Y1 - 2015/9/14
N2 - Java class loaders are commonly used in application servers to load, unload and update a set of classes as a unit. However, unloading or updating a class loader can introduce stale references to the objects of the outdated class loader. A stale reference leads to a memory leak and, for an update, to an inconsistency between the outdated classes and their replacements. To detect and eliminate stale references, we propose Incinerator, a Java virtual machine extension that introduces the notion of an outdated class loader. Incinerator detects stale references and sets them to null during a garbage collection cycle. We evaluate Incinerator in the context of the OSGi framework and show that Incinerator correctly detects and eliminates stale references, including a bug in Knopflerfish. We also evaluate the performance of Incinerator with the DaCapo benchmark on VMKit and show that Incinerator has an overhead of at most 3.3%.
AB - Java class loaders are commonly used in application servers to load, unload and update a set of classes as a unit. However, unloading or updating a class loader can introduce stale references to the objects of the outdated class loader. A stale reference leads to a memory leak and, for an update, to an inconsistency between the outdated classes and their replacements. To detect and eliminate stale references, we propose Incinerator, a Java virtual machine extension that introduces the notion of an outdated class loader. Incinerator detects stale references and sets them to null during a garbage collection cycle. We evaluate Incinerator in the context of the OSGi framework and show that Incinerator correctly detects and eliminates stale references, including a bug in Knopflerfish. We also evaluate the performance of Incinerator with the DaCapo benchmark on VMKit and show that Incinerator has an overhead of at most 3.3%.
UR - https://www.scopus.com/pages/publications/84950112596
U2 - 10.1109/DSN.2015.39
DO - 10.1109/DSN.2015.39
M3 - Conference contribution
AN - SCOPUS:84950112596
T3 - Proceedings of the International Conference on Dependable Systems and Networks
SP - 545
EP - 554
BT - Proceedings - 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2015
PB - IEEE Computer Society
T2 - 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2015
Y2 - 22 June 2015 through 25 June 2015
ER -