DocumentCode :
1606344
Title :
Safe Memory-Leak Fixing for C Programs
Author :
Qing Gao ; Yingfei Xiong ; Yaqing Mi ; Lu Zhang ; Weikun Yang ; Zhaoping Zhou ; Bing Xie ; Hong Mei
Author_Institution :
Key Lab. of High Confidence Software Technol., Peking Univ., Beijing, China
Volume :
1
fYear :
2015
Firstpage :
459
Lastpage :
470
Abstract :
Automatic bug fixing has become a promising direction for reducing manual effort in debugging. However, general approaches to automatic bug fixing may face some fundamental difficulties. In this paper, we argue that automatic fixing of specific types of bugs can be a useful complement. This paper reports our first attempt towards automatically fixing memory leaks in C programs. Our approach generates only safe fixes, which are guaranteed not to interrupt normal execution of the program. To design such an approach, we have to deal with several challenging problems such as inter-procedural leaks, global variables, loops, and leaks from multiple allocations. We propose solutions to all the problems and integrate the solutions into a coherent approach. We implemented our inter-procedural memory leak fixing into a tool named Leak Fix and evaluated Leak Fix on 15 programs with 522k lines of code. Our evaluation shows that Leak Fix is able to successfully fix a substantial number of memory leaks, and Leak Fix is scalable for large applications.
Keywords :
C language; object-oriented programming; program control structures; program debugging; storage management; C program; Leak Fix tool; automatic bug fixing; debugging; global variables; interprocedural leak; interprocedural memory leak fixing; loops; safe memory-leak fixing; Algorithm design and analysis; Computer bugs; Face; Leak detection; Resource management; Safety; Software;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location :
Florence
Type :
conf
DOI :
10.1109/ICSE.2015.64
Filename :
7194597
Link To Document :
بازگشت