RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2018 Volume 30, Issue 3, Pages 47–62 (Mi tisp324)

This article is cited 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.

DOI: 10.15514/ISPRAS-2018-30(3)-4



Bibliographic databases:


© Steklov Math. Inst. of RAS, 2024