Incinerator - Eliminating stale references in dynamic OSGi applications - Archive ouverte HAL
Communication Dans Un Congrès Année : 2015

Incinerator - Eliminating stale references in dynamic OSGi applications

Résumé

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%

Dates et versions

hal-01262362 , version 1 (26-01-2016)

Identifiants

Citer

Koutheir Attouchi, Gaël Thomas, Gilles Muller, Julia Lawall, André Bottaro. Incinerator - Eliminating stale references in dynamic OSGi applications. DSN 2015 : 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, Jun 2015, Rio De Janeiro, Brazil. pp.545-554, ⟨10.1109/DSN.2015.39⟩. ⟨hal-01262362⟩
231 Consultations
0 Téléchargements

Altmetric

Partager

More