• DocumentCode
    176148
  • Title

    Pinso: Precise Isolation of Concurrency Bugs via Delta Triaging

  • Author

    Bo Liu ; Zhengwei Qi ; Bin Wang ; Ruhui Ma

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Shanghai Jiao Tong Univ., Shanghai, China
  • fYear
    2014
  • fDate
    Sept. 29 2014-Oct. 3 2014
  • Firstpage
    201
  • Lastpage
    210
  • Abstract
    Concurrent programs are known to be difficult to test and maintain. These programs often fail because of concurrency bugs caused by non-deterministic interleavings among shared memory accesses. Even though a concurrency bug can be detected, it is still hard to isolate the root cause of the bug, due to the challenge in understanding the complex thread interleavings or schedules. In this paper, we propose a practical and precise isolation technique for concurrent bugs called Pinso that seeks to exploit the non-deterministic nature of concurrency bugs and accurately find the root causes of program error, to further help developers maintain concurrent programs. Pinso profiles runtime inter-thread interleavings based on a set of summarized memory access patterns, and then, isolates suspicious interleaving patterns in the triaging phase. Using a filtration-oriented scheduler, Pinso effectively eliminates false positives that are irrelevant to the bug. We evaluate Pinso with 11 real-world concurrency bugs, including single- and multi-variable violation, from sever/desktop concurrent applications (MySQL, Apache, and several others). Experiments indicate that our tool accurately isolates the root causes of all the bugs.
  • Keywords
    concurrency control; program debugging; program testing; scheduling; shared memory systems; Pinso profiles; complex thread interleavings; concurrency bug precise isolation technique; concurrent programs; delta triaging; filtration-oriented scheduler; inter-thread interleavings; memory access patterns; multivariable violation; program error; shared memory accesses; single-variable violation; software testing; Computer bugs; Concurrent computing; History; Instruction sets; Schedules; Synchronization; Testing; Concurrency bug; Software testing and debugging;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on
  • Conference_Location
    Victoria, BC
  • ISSN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSME.2014.42
  • Filename
    6976086