Research on Data Race Detection
The national computing infrastructure utilizes multicore processors and multiprocessor hardware across the entire spectrum of systems from small mobile devices to huge data centers. These systems can execute many software threads of control concurrently to improve responsiveness and performance, but the potential for unintentional interference between threads makes it difficult to ensure their reliability. Run-time analysis tools for automatically detecting interference problems can help improve software reliability, but they currently have significant performance shortcomings limiting their widespread adoption. Developing more efficient analyses is thus essential. This research examines how to improve the performance of run-time analyses for detecting data race conditions. Data races are perhaps the most fundamental type of thread interference and occur when multiple threads manipulate a shared memory location without proper synchronization.
The project addresses both the space and time overhead of dynamic race detection. The techniques developed leverage memory access patterns observed during a target program's execution to adaptively compress the access history information maintained by a dynamic race detector, as well as new optimizations for eliminating redundant checks and for replacing multiple checks on related memory locations with a single coalesced check. The intellectual merits are achieving substantial performance improvements over existing techniques and enabling comparable improvements in dynamic analyses for other important non-interference properties, including atomicity and determinism. Such analyses must also reason about races. The broader impacts are potentially transforming the principles and practices of multithreaded software engineering by enabling more widespread adoption of analysis tools to detect race conditions and other concurrency defects, contributing to the national software research infrastructure, and increasing access to science research opportunities and training for students.
As part of this work, we continue to develop and maintain the RoadRunner Dynamic Analysis Framework, which is available here.
Any opinions, findings, and conclusions or recommendations expressed
in this material are those of the author(s) and do not necessarily
reflect the views of the National Science Foundation.