Incinerator - Eliminating Stale References in Dynamic OSGi Applications

Abstract : In the context of smart homes, the OSGi middleware is emerging as a standard to execute applications that collaborate together to render services. However, an application update in OSGi can introduce stale references, i.e., references to an outdated version of the application. A stale reference leads to a memory leak and to an inconsistency between the outdated version of the application and the new one. To avoid stale references, we propose Incinerator, a Java virtual machine extension that not only detects, but also eliminates stale references at runtime. Incinerator mainly runs when the garbage collector scans the object graph, so as to find stale references and set them to null. We have used Incinerator to detect a stale reference in the Knopflerfish OSGi framework implementation. Incinerator has a low overhead of at most 3.3% on average on the applications of the DaCapo benchmark suite. This shows that Incinerator is reasonable for use in production environments.
Complete list of metadatas

Cited literature [20 references]  Display  Hide  Download

https://hal.inria.fr/hal-00952327
Contributor : Gilles Muller <>
Submitted on : Wednesday, February 26, 2014 - 3:30:32 PM
Last modification on : Wednesday, June 12, 2019 - 1:34:34 AM
Long-term archiving on : Monday, May 26, 2014 - 12:36:15 PM

File

RR-8485.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00952327, version 1

Citation

Koutheir Attouchi, Gaël Thomas, André Bottaro, Julia L. Lawall, Gilles Muller. Incinerator - Eliminating Stale References in Dynamic OSGi Applications. [Research Report] RR-8485, Inria. 2014, pp.22. ⟨hal-00952327⟩

Share

Metrics

Record views

633

Files downloads

395