DocumentCode :
237264
Title :
PF-Miner: A New Paired Functions Mining Method for Android Kernel in Error Paths
Author :
Huqiu Liu ; Yuping Wang ; Lingbo Jiang ; Shimin Hu
Author_Institution :
Tsinghua Nat. Lab. for Inf. Sci. & Technol. Dept. of Comput. Sci. & Technol., Tsinghua Univ., Beijing, China
fYear :
2014
fDate :
21-25 July 2014
Firstpage :
33
Lastpage :
42
Abstract :
Drivers are significant components of the operating systems(OSs), and they run in kernel mode. Generally, drivers have many errors to handle, and the functions called in the normal execution paths and error handling paths are in pairs, which are named as paired functions. However, some developers do not handle the errors completely as they forget about or are unaware of releasing the acquired resources, thus memory leaks and other potential problems can be easily introduced. Therefore, it is highly valuable to automatically extract paired functions for these problems and detect violations for the programmers. This paper proposes an efficient tool named PF-Miner, which can automatically extract paired functions and detect violations between normal execution paths and error handling paths from the source code of C program with the data mining and statistical methods. We have evaluated PF-Miner on different versions of Android kernel 2.6.39 and 3.10.0, and 81 bugs reported by PF-Miner in 2.6.39 have been fixed before the latest version 3.10.0. PF-Miner only needs about 150 seconds to analyze the source code of 3.10.0, and 983 violations have been detected from 546 paired functions that have been extracted. We have reported the top 51 violations as potential bugs to the developers, and 15 bugs have been confirmed.
Keywords :
Android (operating system); C language; data mining; device drivers; error handling; operating system kernels; program debugging; source code (software); statistical analysis; Android kernel 2.6.39; Android kernel 3.10.0; C program; OS; PF-Miner; bugs; data mining; drivers; error handling paths; error path; memory leaks; normal execution paths; operating systems; paired function extraction; paired function mining method; source code; statistical methods; time 150 s; violation detection; Androids; Computer bugs; Data mining; Humanoid robots; Kernel; Semantics; Statistical analysis; Paired function mining; data mining; error path checking; violations detection;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Software and Applications Conference (COMPSAC), 2014 IEEE 38th Annual
Conference_Location :
Vasteras
Type :
conf
DOI :
10.1109/COMPSAC.2014.10
Filename :
6899198
Link To Document :
بازگشت