DEVELOPMENT OF DYNAMIC DATA RACE DETECTION FOR CONCURRENT SOFTWARE SYSTEMS
Abstract
Concurrent programs are prone to data races, which are notoriously difficult to detect
and reproduce. Static analysis often yields excessive false positives, while traditional
dynamic testing can miss races due to specific thread interleavings. Existing dynamic
detectors struggle with the overhead of precise analysis and the scalability for large,
long-running applications. This creates a critical need for efficient, on-the-fly race
detection techniques that are both precise and practical.
Our methodology employs a hybrid approach of happens-before and lockset analysis
for precise on-the-fly detection. We instrument program binaries to monitor memory
accesses and synchronization operations during execution. A vector clock algorithm
efficiently tracks potential causal relationships between threads. This allows for the
immediate flagging of conflicting, unordered accesses as data races.
Our dynamic detector successfully identified 15 true data races in the benchmark suite,
with zero false positives. It incurred an average runtime overhead of 25% and a
memory overhead of 45%, demonstrating practical performance. The tool also
successfully localized the precise instruction pairs and variable involved in each race.
These results validate our hybrid analysis as both precise and efficient for real-world
applications.
Our study confirms that hybrid happens-before and lockset analysis is highly effective
for precise and practical dynamic race detection. We recommend its integration into
continuous testing pipelines to catch concurrency bugs early in the development cycle.
Future work should focus on reducing memory overhead and extending detection to
more relaxed memory models. Widespread adoption of such tools is crucial for
improving the reliability of concurrent software
Full-Text Access Notice
In accordance with the NERD Policy on promoting peer-reviewed publication, public access to the full text of a project, thesis or dissertation is restricted for three years, allowing the author and supervisors sufficient time to pursue peer-reviewed publication.
During this period, researchers with legitimate academic or research purposes may request authorisation directly from the author to enable NERD to release the indexed full texts of the work using the form below.