期刊文献+

Automatic recovery from resource exhaustion exceptions by collecting leaked resources 被引量:1

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. Despite the availability of garbage collectors, programmers must manually manage non-memory finitesystem 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.
出处 《Journal of Zhejiang University-Science C(Computers and Electronics)》 SCIE EI 2014年第8期622-635,共14页 浙江大学学报C辑(计算机与电子(英文版)
基金 supported by the National Natural Science Foundation of China(Nos.61379054 and 91318301) the National High-Tech R&D Program(863)of China(No.2012AA011201)
关键词 Failure avoidance Resource leaks Resource collection Exception handling RELIABILITY Failure avoidance, Resource leaks, Resource collection, Exception handling, Reliability
  • 相关文献

参考文献33

  • 1Allan, C., Avgustinov, P., Christensen, A.S., et al., 2005. Adding trace matching with free variables to Aspectj. ACM SIGPLAN Not., 40(10):345-364. [doi:10.1145/ 1103845.1094839].
  • 2Arnold, M., Fink, S., Grove, D., et al., 2000. Adaptive optimization in the Jalapeno JVM. Proc. 15th ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications, p.47-65. [doi: 10.1145/353171.353175].
  • 3Arnold, M., Vechev, M., Yahav, E., 2011. QVM: an efficient runtime for detecting defects in deployed systems. ACM Trans. Softw. Eng. Methodol., 21(1):2:1-2:35. [doi: 1 0.1145 /2063239.2063241].
  • 4Blackburn, S.M., Cheng, P., McKinley, K.S., 2004. Oil and water? High performance garbage collection in Java with MMTK. Proc. 26th Int. Conf. on Software Engineering, p.137-146. [doi:10.1109/ICSE.2004.1317436].
  • 5Blackburn, S.M., Garner, R., Hoffmann, C., et al., 2006. The DaCapo benchmarks: Java benchmarking development and analysis. Proc. 21st Annual ACM SIGPLAN Conf. on Object-Oriented Programming Systems, Languages, and Applications, p.169-190. [doi: 10. 1145/ 1167473.1167488].
  • 6Boehm, H.J., 2003. Destructors, finalizers, and synchronization. Proc. 30th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, p.262-272. [doi: 1 0.1145/604131.604153].
  • 7Bond, M.D., McKinley, K.S., 2008. Tolerating memory leaks. Proc. 23rd ACM SIGPLAN Conf. on ObjectOriented Programming Systems Languages and Applications, p.109-126. [doi:10.1145/1449764.1449774).
  • 8Cabral, B., Marques, P., 2007. Exception handling: a field study in Java and .NET. LNCS, 4609:151-175. [doi:10.1007 /978-3-540-73589-2 _ 8).
  • 9Cabral, B., Marques, P., 2008. A case for automatic exception handling. IEEE/ ACM Int. Conf. on Automated Software Engineering, p.403-406.
  • 10Carzaniga, A., Gorla, A., Mattavelli, A., et al., 2013. Automatic recovery from runtime failures. Proc. Int. Conf. on Software Engineering, p.782-791.

同被引文献1

引证文献1

二级引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部