• DocumentCode
    3657115
  • Title

    Incinerator -- Eliminating Stale References in Dynamic OSGi Applications

  • Author

    Koutheir Attouchi;Gaël ;Gilles Muller;Julia Lawall;André

  • fYear
    2015
  • fDate
    6/1/2015 12:00:00 AM
  • Firstpage
    545
  • Lastpage
    554
  • 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%.
  • Keywords
    "Incineration","Java","Monitoring","Middleware","Virtual machining","Context","Loading"
  • Publisher
    ieee
  • Conference_Titel
    Dependable Systems and Networks (DSN), 2015 45th Annual IEEE/IFIP International Conference on
  • Type

    conf

  • DOI
    10.1109/DSN.2015.39
  • Filename
    7266881