Title :
Service Coroner: A Diagnostic Tool for Locating OSGi Stale References
Author :
Gama, Kiev ; Donsez, Didier
Author_Institution :
LIG Lab., Univ. of Grenoble, Grenoble, France
Abstract :
The OSGi Services Platform provides a framework for the dynamic deployment of Java-based applications. It allows to install, to activate, to update and to uninstall application modules without the need to restart the host Java Virtual Machine. However, the mishandling of such OSGi dynamics may result in a problem described in the OSGi specification as Stale References, which happen when services from uninstalled modules are still referenced by active code. It may lead to inconsistencies in application´s behavior, state and memory. Currently, there are no tools available to address this issue. This paper presents a diagnostics tool named ServiceCoroner that detects such problems. It helps developers and administrators diagnose OSGi applications running either in production or test environments. We have validated this tool on two open source applications that run on OSGi: a JavaEE application server and a multi-protocol instant messenger application. The results of the experiments show stale references in those applications.
Keywords :
Java; program diagnostics; program testing; virtual machines; Java-based application; JavaEE application server; OSGi services platform; OSGi specification; OSGi stale reference location; Service Coroner diagnostic tool; application module system; host Java virtual machine; multiprotocol instant messenger application; open source application; test environment; Application software; Computer architecture; Embedded system; Java; Laboratories; Personal communication networks; Production; Software engineering; Testing; Virtual machining; OSGi; dynamic services; memory leaks; runtime diagnostics; stale references;
Conference_Titel :
Software Engineering and Advanced Applications, 2008. SEAA '08. 34th Euromicro Conference
Conference_Location :
Parma
Print_ISBN :
978-0-7695-3276-9
DOI :
10.1109/SEAA.2008.32