Salvato in:
Dettagli Bibliografici
Autori principali: Sun, Xudong, Chen, Zhuo, Shi, Jingyang, Zhang, Yiyu, Di, Peng, Zhao, Jianhua, Li, Xuandong, Zuo, Zhiqiang
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:https://arxiv.org/abs/2410.18412
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866912161069006848
author Sun, Xudong
Chen, Zhuo
Shi, Jingyang
Zhang, Yiyu
Di, Peng
Zhao, Jianhua
Li, Xuandong
Zuo, Zhiqiang
author_facet Sun, Xudong
Chen, Zhuo
Shi, Jingyang
Zhang, Yiyu
Di, Peng
Zhao, Jianhua
Li, Xuandong
Zuo, Zhiqiang
contents Data races are critical issues in multithreaded program, leading to unpredictable, catastrophic and difficult-to-diagnose problems. Despite the extensive in-house testing, data races often escape to deployed software and manifest in production runs. Existing approaches suffer from either prohibitively high runtime overhead or incomplete detection capability. In this paper, we introduce HardRace, a data race monitor to detect races on-the-fly while with sufficiently low runtime overhead and high detection capability. HardRace firstly employs sound static analysis to determine a minimal set of essential memory accesses relevant to data races. It then leverages hardware trace instruction, i.e., Intel PTWRITE, to selectively record only these memory accesses and thread synchronization events during execution with negligible runtime overhead. Given the tracing data, HardRace performs standard data race detection algorithms to timely report potential races occurred in production runs. The experimental evaluations show that HardRace outperforms state-of-the-art tools like ProRace and Kard in terms of both runtime overhead and detection capability -- HardRace can detect all kinds of data races in read-world applications while maintaining a negligible overhead, less than 2% on average.
format Preprint
id arxiv_https___arxiv_org_abs_2410_18412
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle HardRace: A Dynamic Data Race Monitor for Production Use
Sun, Xudong
Chen, Zhuo
Shi, Jingyang
Zhang, Yiyu
Di, Peng
Zhao, Jianhua
Li, Xuandong
Zuo, Zhiqiang
Software Engineering
Data races are critical issues in multithreaded program, leading to unpredictable, catastrophic and difficult-to-diagnose problems. Despite the extensive in-house testing, data races often escape to deployed software and manifest in production runs. Existing approaches suffer from either prohibitively high runtime overhead or incomplete detection capability. In this paper, we introduce HardRace, a data race monitor to detect races on-the-fly while with sufficiently low runtime overhead and high detection capability. HardRace firstly employs sound static analysis to determine a minimal set of essential memory accesses relevant to data races. It then leverages hardware trace instruction, i.e., Intel PTWRITE, to selectively record only these memory accesses and thread synchronization events during execution with negligible runtime overhead. Given the tracing data, HardRace performs standard data race detection algorithms to timely report potential races occurred in production runs. The experimental evaluations show that HardRace outperforms state-of-the-art tools like ProRace and Kard in terms of both runtime overhead and detection capability -- HardRace can detect all kinds of data races in read-world applications while maintaining a negligible overhead, less than 2% on average.
title HardRace: A Dynamic Data Race Monitor for Production Use
topic Software Engineering
url https://arxiv.org/abs/2410.18412