|
This article is cited in 1 scientific paper (total in 1 paper)
Applying synchronization contracts approach for dynamic detection of data races in industrial applications
V. Yu. Trifanov St. Petersburg State University
Abstract:
Data race occurs in multithreaded program when several threads simultaneously access same shared data and at least of them writes. Two main approaches to automatic race detection - static and dynamic - have their pros and cons. Dynamic analysis can provide best precision on certain program execution but introduce enormous runtime overheads. Earlier we introduced high-performance approach that improves performance of dynamic race detection. The key idea is to define and exclude external trusted parts of code (e.g. libraries) from analysis and replace them with specifications of their behavior in multithreaded environment. Possible behavior was classified and corresponding language for describing contracts developed. Evaluation on lightweight applications confirmed performance boost but further industrial usage of detector revealed some problems. This article covers that problems, introduces method and architecture of contract processing module and some technical features that help to apply proposed approach on high load production systems.
Keywords:
multithreading, data race, dynamic analysis, automatic error detection.
Citation:
V. Yu. Trifanov, “Applying synchronization contracts approach for dynamic detection of data races in industrial applications”, Proceedings of ISP RAS, 30:3 (2018), 47–62
Linking options:
https://www.mathnet.ru/eng/tisp324 https://www.mathnet.ru/eng/tisp/v30/i3/p47
|
Statistics & downloads: |
Abstract page: | 119 | Full-text PDF : | 59 | References: | 20 |
|