Publication
ESEC/FSE 2007
Conference paper

Can self-healing software cope with loitering?

View publication

Abstract

Garbage collectors automatically free memory previously allocated by applications. Generally, they discard unreachable objects from memory, leaving reachable objects intact. However, object reachability does not necessarily imply usability, as an object may be obsolete and still reachable. Such objects are usually referred to as loitering objects. Loitering objects introduce a form of memory leak in a Java application. Predicting, tracing and eliminating loitering objects is a difficult problem. In this paper we address this problem. We present a self-healing approach for dealing with loitering objects. Specifically, the paper proposes an algorithm that can be integrated within the Java garbage collector. The algorithm prevents memory leaks resulting from loitering objects by "paging" suspected live objects to disk and reloading them if they are required. As a proof-of-concept, we have implemented and validated the algorithm for the Java Virtual Machine. This could be a first step towards genuine self-healing of memory management problems. Copyright 2007 ACM.

Date

Publication

ESEC/FSE 2007

Authors

Share