• 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