A Practical Approach for Finding Stale References in a Dynamic Service Platform

  • Authors:
  • Kiev Gama;Didier Donsez

  • Affiliations:
  • University of Grenoble, LIG laboratory, ADELE team,;University of Grenoble, LIG laboratory, ADELE team,

  • Venue:
  • CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The OSGiTMService Platform is becoming the de facto standard for modularized Java applications. The market of OSGi based COTS components is continuously growing. OSGi specific problems make it harder to validate such components. The absence of separate object spaces to isolate components may lead to inconsistencies when they are stopped. The platform cannot ensure that objects from a stopped component will no longer be referenced by active code (a problem referred by OSGi specification as stale references) leading to memory retention and inconsistencies (e.g., utilization of invalid cached data) that can introduce faults in the system. This paper classifies different patterns of stale references detailing them and presents techniques based on Aspect Oriented Programming for runtime detection of such problems. We also present a fail-stop mechanism on services to avoid propagation of incorrect results. These techniques have proven to be effective in a tool implementation that validated our study.