Resco: Automatic Collection of Leaked Resources

Ziying DAI, Xiaoguang MAO, Yan LEI, Xiaomin WAN, Kerong BEN

  • Full Text Views

    0

  • Cite this

Summary :

A garbage collector relieves programmers from manual memory management and improves productivity and program reliability. However, there are many other finite system resources that programmers must manage by themselves, such as sockets and database connections. Growing resource leaks can lead to performance degradation and even program crashes. This paper presents the automatic resource collection approach called Resco (RESource COllector) to tolerate non-memory resource leaks. Resco prevents performance degradation and crashes due to resource leaks by two steps. First, it utilizes monitors to count resource consumption and request resource collections independently of memory usage when resource limits are about to be violated. Second, it responds to a resource collection request by safely releasing leaked resources. We implement Resco based on a Java Virtual Machine for Java programs. The performance evaluation against standard benchmarks shows that Resco has a very low overhead, around 1% or 3%. Experiments on resource leak bugs show that Resco successfully prevents most of these programs from crashing with little increase in execution time.

Publication
IEICE TRANSACTIONS on Information Vol.E96-D No.1 pp.28-39
Publication Date
2013/01/01
Publicized
Online ISSN
1745-1361
DOI
10.1587/transinf.E96.D.28
Type of Manuscript
PAPER
Category
Software Engineering

Authors

Keyword

FlyerIEICE has prepared a flyer regarding multilingual services. Please use the one in your native language.