Skip to Main content Skip to Navigation
Conference papers

Preventing Memory and Information LeakageIncinerator – Eliminating Stale References in Dynamic OSGi Applications

Abstract : 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%.
Document type :
Conference papers
Complete list of metadata

Cited literature [25 references]  Display  Hide  Download

https://hal.inria.fr/hal-01198922
Contributor : Gilles Muller <>
Submitted on : Wednesday, December 9, 2015 - 4:29:33 PM
Last modification on : Monday, February 15, 2021 - 9:34:02 AM
Long-term archiving on: : Thursday, March 10, 2016 - 1:01:21 PM

File

8629a545.pdf
Publisher files allowed on an open archive

Identifiers

  • HAL Id : hal-01198922, version 1

Citation

Koutheir Attouchi, Gaël Thomas, Gilles Muller, Julia L. Lawall, André Bottaro. Preventing Memory and Information LeakageIncinerator – Eliminating Stale References in Dynamic OSGi Applications. Dependable Systems and Networks, Sep 2015, Rio de Janeiro, Brazil. ⟨hal-01198922⟩

Share

Metrics

Record views

293

Files downloads

298