Localizing and Explaining Non-deadlock Concurrency Bugs
Mary Jean Harrold
Georgia Tech University
Thursday March 7, 2013
11:00 a.m., 1000 SEO Building
Concurrency fault are difficult to find because they usually occur under specific thread interleavings. Fault-detection tools in this area find data-access patterns among thread interleavings, but they report benign patterns as well as actual faulty patterns. Traditional fault-localization techniques have been successful in identifying faults in sequential, deterministic programs, but they cannot detect faulty data-access patterns among threads. In this talk, I will present a new automated dynamic pattern-detection-based technique that finds and ranks problematic memory access patterns for non-deadlock concurrency bugs. The technique detects significant classes of bug types, including order violations and both single-variable and multi-variable atomicity violations, which have been shown to be the most important classes of non-deadlock concurrency bugs. The technique also handles multiple bugs, identifies patterns responsible for the same bug, and provides an explanation of the bugs for developers. Finally, I will present empirical studies on both C++ and Java programs that show the effectiveness of our technique in pinpointing the interleaving patterns responsible for the bug and test cases responsible for the same bug.
Mary Jean Harrold is a Professor in the School of Computer Science at Georgia Institute of Technology. Her research includes analysis and testing of large, evolving software, fault localization and failure identification using statistical analysis and visualization, and monitoring deployed software to improve quality. Harrold received an NSF National Young Investigator Award, and was named an ACM Fellow and an IEEE Fellow. She serves on the Board of Directors for the Computing Research Association (CRA) and the editorial board of JSTVR, and served on the editorial boards of ACM TOSEM and TOPLAS and IEEE TSE. She served as NSF ADVANCE Professor of Computing, on the leadership of team of the National Center for Women in Information Technology (NCWIT), and on the CRA Committee on the Status of Women in Computing Research (CRA-W). She received the Ph.D. in computer science from the University of Pittsburgh.