Incinerator - Eliminating Stale References in Dynamic OSGi Applications

  • Koutheir Attouchi
  • , Gael Thomas
  • , Gilles Muller
  • , Julia Lawall
  • , Andre Bottaro

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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%.

Original languageEnglish
Title of host publicationProceedings - 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2015
PublisherIEEE Computer Society
Pages545-554
Number of pages10
ISBN (Electronic)9781479986293
DOIs
Publication statusPublished - 14 Sept 2015
Event45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2015 - Rio de Janeiro, Brazil
Duration: 22 Jun 201525 Jun 2015

Publication series

NameProceedings of the International Conference on Dependable Systems and Networks
Volume2015-September

Conference

Conference45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2015
Country/TerritoryBrazil
CityRio de Janeiro
Period22/06/1525/06/15

Fingerprint

Dive into the research topics of 'Incinerator - Eliminating Stale References in Dynamic OSGi Applications'. Together they form a unique fingerprint.

Cite this