DocumentCode
555266
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
fYear
2011
fDate
21-28 May 2011
Firstpage
11
Lastpage
20
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2011 33rd International Conference on
Conference_Location
Honolulu, HI
ISSN
0270-5257
Print_ISBN
978-1-4503-0445-0
Electronic_ISBN
0270-5257
Type
conf
DOI
10.1145/1985793.1985796
Filename
6032440
Link To Document