Title :
aComment: mining annotations from comments and code to detect interrupt related concurrency bugs
Author :
Tan, Lin ; Zhou, Yuanyuan ; Padioleau, Yoann
Author_Institution :
Univ. of Waterloo, Waterloo, ON, Canada
Abstract :
Concurrency bugs in an operating system (OS) are detrimental as they can cause the OS to fail and affect all applications running on top of the OS. Detecting OS concurrency bugs is challenging due to the complexity of the OS synchronization, particularly with the presence of the OS specific interrupt context. Existing dynamic concurrency bug detection techniques are designed for user level applications and cannot be applied to operating systems. To detect OS concurrency bugs, we proposed a new type of annotations - interrupt related annotations - and generated 96,821 such annotations for the Linux kernel with little manual effort. These annotations have been used to automatically detect 9 real OS concurrency bugs (7 of which were previously unknown). Two of the key techniques that make the above contributions possible are: (1) using a hybrid approach to extract annotations from both code and comments written in natural language to achieve better coverage and accuracy in annotation extraction and bug detection; and (2) automatically propagating annotations to caller functions to improve annotating and bug detection. These two techniques are general and can be applied to non-OS code, code written in other programming languages such as Java, and for extracting other types of specifications.
Keywords :
Linux; concurrency control; data mining; operating system kernels; program debugging; Linux kernel; OS concurrency bugs; aComment; annotation extraction; annotation mining; dynamic concurrency bug detection technique; interrupt related annotation; interrupt related concurrency bugs; natural language; operating system; user level application; Computer bugs; Concurrent computing; Context; Kernel; Linux; annotation languages; concurrency bug detection; interrupts; operating systems; static analysis;
Conference_Titel :
Software Engineering (ICSE), 2011 33rd International Conference on
Conference_Location :
Honolulu, HI
Print_ISBN :
978-1-4503-0445-0
Electronic_ISBN :
0270-5257
DOI :
10.1145/1985793.1985796