Please wait a minute...
Front. Inform. Technol. Electron. Eng.  2014, Vol. 15 Issue (8): 622-635    DOI: 10.1631/jzus.C1300352
    
Automatic recovery from resource exhaustion exceptions by collecting leaked resources
Zi-ying Dai, Xiao-guang Mao, Li-qian Chen, Yan Lei
College of Computer, National University of Defense Technology, Changsha 410073, China; Laboratory of Science and Technology on Integrated Logistics Support, National University of Defense Technology, Changsha 410073, China; Department of Computer Science, University of California, Davis, USA
Download:   PDF(0KB)
Export: BibTeX | EndNote (RIS)      

Abstract  Despite the availability of garbage collectors, programmers must manually manage non-memory finite system resources such as file descriptors. Resource leaks can gradually consume all available resources and cause programs to raise resource exhaustion exceptions. However, programmers commonly provide no effective recovery approach for resource exhaustion exceptions, which often causes programs to halt without completing their tasks. In this paper, we propose to automatically recover programs from resource exhaustion exceptions caused by resource leaks. We transform programs to catch resource exhaustion exceptions, collect leaked resources, and then retry the failure code. A resource collector is designed to identify leaked resources and safely release them. We implement our approach for Java programs. Experimental results show that our approach can successfully handle resource exhaustion exceptions caused by reported resource leaks and allow programs to complete their tasks with an average execution time increase of 2.52% and negligible bytecode size increase.

Key wordsFailure avoidance      Resource leaks      Resource collection      Exception handling      Reliability     
Received: 07 December 2013      Published: 06 August 2014
CLC:  TP311  
Cite this article:

Zi-ying Dai, Xiao-guang Mao, Li-qian Chen, Yan Lei. Automatic recovery from resource exhaustion exceptions by collecting leaked resources. Front. Inform. Technol. Electron. Eng., 2014, 15(8): 622-635.

URL:

http://www.zjujournals.com/xueshu/fitee/10.1631/jzus.C1300352     OR     http://www.zjujournals.com/xueshu/fitee/Y2014/V15/I8/622


Automatic recovery from resource exhaustion exceptions by collecting leaked resources

Despite the availability of garbage collectors, programmers must manually manage non-memory finite system resources such as file descriptors. Resource leaks can gradually consume all available resources and cause programs to raise resource exhaustion exceptions. However, programmers commonly provide no effective recovery approach for resource exhaustion exceptions, which often causes programs to halt without completing their tasks. In this paper, we propose to automatically recover programs from resource exhaustion exceptions caused by resource leaks. We transform programs to catch resource exhaustion exceptions, collect leaked resources, and then retry the failure code. A resource collector is designed to identify leaked resources and safely release them. We implement our approach for Java programs. Experimental results show that our approach can successfully handle resource exhaustion exceptions caused by reported resource leaks and allow programs to complete their tasks with an average execution time increase of 2.52% and negligible bytecode size increase.

关键词: Failure avoidance,  Resource leaks,  Resource collection,  Exception handling,  Reliability 
[1] Nan-nan Zhao, Ji-guang Wan, Jun Wang, Chang-sheng Xie. A reliable power management scheme for consistent hashing based distributed key value storage systems[J]. Front. Inform. Technol. Electron. Eng., 2016, 17(10): 994-1007.
[2] Qian-qi Le, Guo-wu Yang, William N. N. Hung, Xiao-yu Song, Fu-you Fan. Performance-driven assignment and mapping for reliable networks-on-chips[J]. Front. Inform. Technol. Electron. Eng., 2014, 15(11): 1009-1020.
[3] Mostafa Hosseinpour, Habib Rajabi Mashhadi, Mohammad Ebrahim Hajiabadi. A probabilistic model for assessing the reliability of wind farms in a power system[J]. Front. Inform. Technol. Electron. Eng., 2013, 14(6): 464-474.
[4] Yi-Kuei Lin, Cheng-Fu Huang. Stochastic computer network with multiple terminals under total accuracy rate[J]. Front. Inform. Technol. Electron. Eng., 2013, 14(2): 75-84.
[5] Xin-tao Xia, Yin-ping Jin, Yong-zhi Xu, Yan-tao Shang, Long Chen. Hypothesis testing for reliability with a three-parameter Weibull distribution using minimum weighted relative entropy norm and bootstrap[J]. Front. Inform. Technol. Electron. Eng., 2013, 14(2): 143-154.
[6] Yu Zhang, Yang-ming Zheng, Mu Yang, Hui Li, Zhong-he Jin. Design and implementation of the highly-reliable, low-cost housekeeping system in the ZDPS-1A pico-satellite[J]. Front. Inform. Technol. Electron. Eng., 2012, 13(2): 83-89.