HardRace: A Dynamic Data Race Monitor for Production Use Article Swipe
YOU?
·
· 2024
· Open Access
·
· DOI: https://doi.org/10.48550/arxiv.2410.18412
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.
Related Topics
- Type
- preprint
- Language
- en
- Landing Page
- http://arxiv.org/abs/2410.18412
- https://arxiv.org/pdf/2410.18412
- OA Status
- green
- Related Works
- 10
- OpenAlex ID
- https://openalex.org/W4404306533
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W4404306533Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.48550/arxiv.2410.18412Digital Object Identifier
- Title
-
HardRace: A Dynamic Data Race Monitor for Production UseWork title
- Type
-
preprintOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2024Year of publication
- Publication date
-
2024-10-24Full publication date if available
- Authors
-
Xudong Sun, Zhuo Chen, Jiajie Shi, Yiyu Zhang, Di Peng, Xuandong Li, Zhiqiang ZuoList of authors in order
- Landing page
-
https://arxiv.org/abs/2410.18412Publisher landing page
- PDF URL
-
https://arxiv.org/pdf/2410.18412Direct link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
greenOpen access status per OpenAlex
- OA URL
-
https://arxiv.org/pdf/2410.18412Direct OA link when available
- Concepts
-
Race (biology), Production (economics), Computer science, Economics, Sociology, Microeconomics, Gender studiesTop concepts (fields/topics) attached by OpenAlex
- Cited by
-
0Total citation count in OpenAlex
- Related works (count)
-
10Other works algorithmically related by OpenAlex
Full payload
| id | https://openalex.org/W4404306533 |
|---|---|
| doi | https://doi.org/10.48550/arxiv.2410.18412 |
| ids.doi | https://doi.org/10.48550/arxiv.2410.18412 |
| ids.openalex | https://openalex.org/W4404306533 |
| fwci | |
| type | preprint |
| title | HardRace: A Dynamic Data Race Monitor for Production Use |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | |
| biblio.first_page | |
| topics[0].id | https://openalex.org/T12111 |
| topics[0].field.id | https://openalex.org/fields/22 |
| topics[0].field.display_name | Engineering |
| topics[0].score | 0.8989999890327454 |
| topics[0].domain.id | https://openalex.org/domains/3 |
| topics[0].domain.display_name | Physical Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/2209 |
| topics[0].subfield.display_name | Industrial and Manufacturing Engineering |
| topics[0].display_name | Industrial Vision Systems and Defect Detection |
| topics[1].id | https://openalex.org/T11512 |
| topics[1].field.id | https://openalex.org/fields/17 |
| topics[1].field.display_name | Computer Science |
| topics[1].score | 0.7670999765396118 |
| topics[1].domain.id | https://openalex.org/domains/3 |
| topics[1].domain.display_name | Physical Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/1702 |
| topics[1].subfield.display_name | Artificial Intelligence |
| topics[1].display_name | Anomaly Detection Techniques and Applications |
| topics[2].id | https://openalex.org/T10775 |
| topics[2].field.id | https://openalex.org/fields/17 |
| topics[2].field.display_name | Computer Science |
| topics[2].score | 0.7303000092506409 |
| topics[2].domain.id | https://openalex.org/domains/3 |
| topics[2].domain.display_name | Physical Sciences |
| topics[2].subfield.id | https://openalex.org/subfields/1707 |
| topics[2].subfield.display_name | Computer Vision and Pattern Recognition |
| topics[2].display_name | Generative Adversarial Networks and Image Synthesis |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| concepts[0].id | https://openalex.org/C76509639 |
| concepts[0].level | 2 |
| concepts[0].score | 0.7052232623100281 |
| concepts[0].wikidata | https://www.wikidata.org/wiki/Q918036 |
| concepts[0].display_name | Race (biology) |
| concepts[1].id | https://openalex.org/C2778348673 |
| concepts[1].level | 2 |
| concepts[1].score | 0.6958880424499512 |
| concepts[1].wikidata | https://www.wikidata.org/wiki/Q739302 |
| concepts[1].display_name | Production (economics) |
| concepts[2].id | https://openalex.org/C41008148 |
| concepts[2].level | 0 |
| concepts[2].score | 0.373289555311203 |
| concepts[2].wikidata | https://www.wikidata.org/wiki/Q21198 |
| concepts[2].display_name | Computer science |
| concepts[3].id | https://openalex.org/C162324750 |
| concepts[3].level | 0 |
| concepts[3].score | 0.12918099761009216 |
| concepts[3].wikidata | https://www.wikidata.org/wiki/Q8134 |
| concepts[3].display_name | Economics |
| concepts[4].id | https://openalex.org/C144024400 |
| concepts[4].level | 0 |
| concepts[4].score | 0.09576326608657837 |
| concepts[4].wikidata | https://www.wikidata.org/wiki/Q21201 |
| concepts[4].display_name | Sociology |
| concepts[5].id | https://openalex.org/C175444787 |
| concepts[5].level | 1 |
| concepts[5].score | 0.046655505895614624 |
| concepts[5].wikidata | https://www.wikidata.org/wiki/Q39072 |
| concepts[5].display_name | Microeconomics |
| concepts[6].id | https://openalex.org/C107993555 |
| concepts[6].level | 1 |
| concepts[6].score | 0.0 |
| concepts[6].wikidata | https://www.wikidata.org/wiki/Q1662673 |
| concepts[6].display_name | Gender studies |
| keywords[0].id | https://openalex.org/keywords/race |
| keywords[0].score | 0.7052232623100281 |
| keywords[0].display_name | Race (biology) |
| keywords[1].id | https://openalex.org/keywords/production |
| keywords[1].score | 0.6958880424499512 |
| keywords[1].display_name | Production (economics) |
| keywords[2].id | https://openalex.org/keywords/computer-science |
| keywords[2].score | 0.373289555311203 |
| keywords[2].display_name | Computer science |
| keywords[3].id | https://openalex.org/keywords/economics |
| keywords[3].score | 0.12918099761009216 |
| keywords[3].display_name | Economics |
| keywords[4].id | https://openalex.org/keywords/sociology |
| keywords[4].score | 0.09576326608657837 |
| keywords[4].display_name | Sociology |
| keywords[5].id | https://openalex.org/keywords/microeconomics |
| keywords[5].score | 0.046655505895614624 |
| keywords[5].display_name | Microeconomics |
| language | en |
| locations[0].id | pmh:oai:arXiv.org:2410.18412 |
| locations[0].is_oa | True |
| locations[0].source.id | https://openalex.org/S4306400194 |
| locations[0].source.issn | |
| locations[0].source.type | repository |
| locations[0].source.is_oa | True |
| locations[0].source.issn_l | |
| locations[0].source.is_core | False |
| locations[0].source.is_in_doaj | False |
| locations[0].source.display_name | arXiv (Cornell University) |
| locations[0].source.host_organization | https://openalex.org/I205783295 |
| locations[0].source.host_organization_name | Cornell University |
| locations[0].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[0].license | |
| locations[0].pdf_url | https://arxiv.org/pdf/2410.18412 |
| locations[0].version | submittedVersion |
| locations[0].raw_type | text |
| locations[0].license_id | |
| locations[0].is_accepted | False |
| locations[0].is_published | False |
| locations[0].raw_source_name | |
| locations[0].landing_page_url | http://arxiv.org/abs/2410.18412 |
| locations[1].id | doi:10.48550/arxiv.2410.18412 |
| locations[1].is_oa | True |
| locations[1].source.id | https://openalex.org/S4306400194 |
| locations[1].source.issn | |
| locations[1].source.type | repository |
| locations[1].source.is_oa | True |
| locations[1].source.issn_l | |
| locations[1].source.is_core | False |
| locations[1].source.is_in_doaj | False |
| locations[1].source.display_name | arXiv (Cornell University) |
| locations[1].source.host_organization | https://openalex.org/I205783295 |
| locations[1].source.host_organization_name | Cornell University |
| locations[1].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[1].license | |
| locations[1].pdf_url | |
| locations[1].version | |
| locations[1].raw_type | article |
| locations[1].license_id | |
| locations[1].is_accepted | False |
| locations[1].is_published | |
| locations[1].raw_source_name | |
| locations[1].landing_page_url | https://doi.org/10.48550/arxiv.2410.18412 |
| indexed_in | arxiv, datacite |
| authorships[0].author.id | https://openalex.org/A5012869559 |
| authorships[0].author.orcid | https://orcid.org/0000-0003-4770-0840 |
| authorships[0].author.display_name | Xudong Sun |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Sun, Xudong |
| authorships[0].is_corresponding | False |
| authorships[1].author.id | https://openalex.org/A5100345048 |
| authorships[1].author.orcid | https://orcid.org/0000-0001-6724-2571 |
| authorships[1].author.display_name | Zhuo Chen |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Chen, Zhuo |
| authorships[1].is_corresponding | False |
| authorships[2].author.id | https://openalex.org/A5102966428 |
| authorships[2].author.orcid | https://orcid.org/0000-0002-6118-4742 |
| authorships[2].author.display_name | Jiajie Shi |
| authorships[2].author_position | middle |
| authorships[2].raw_author_name | Shi, Jingyang |
| authorships[2].is_corresponding | False |
| authorships[3].author.id | https://openalex.org/A5102623321 |
| authorships[3].author.orcid | |
| authorships[3].author.display_name | Yiyu Zhang |
| authorships[3].author_position | middle |
| authorships[3].raw_author_name | Zhang, Yiyu |
| authorships[3].is_corresponding | False |
| authorships[4].author.id | https://openalex.org/A5029153155 |
| authorships[4].author.orcid | https://orcid.org/0000-0002-8116-5215 |
| authorships[4].author.display_name | Di Peng |
| authorships[4].author_position | middle |
| authorships[4].raw_author_name | Di, Peng |
| authorships[4].is_corresponding | False |
| authorships[5].author.id | https://openalex.org/A5090810072 |
| authorships[5].author.orcid | https://orcid.org/0000-0003-3090-9568 |
| authorships[5].author.display_name | Xuandong Li |
| authorships[5].author_position | middle |
| authorships[5].raw_author_name | Li, Xuandong |
| authorships[5].is_corresponding | False |
| authorships[6].author.id | https://openalex.org/A5067825173 |
| authorships[6].author.orcid | https://orcid.org/0000-0001-7104-9918 |
| authorships[6].author.display_name | Zhiqiang Zuo |
| authorships[6].author_position | last |
| authorships[6].raw_author_name | Zuo, Zhiqiang |
| authorships[6].is_corresponding | False |
| has_content.pdf | False |
| has_content.grobid_xml | False |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://arxiv.org/pdf/2410.18412 |
| open_access.oa_status | green |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-10T00:00:00 |
| display_name | HardRace: A Dynamic Data Race Monitor for Production Use |
| has_fulltext | False |
| is_retracted | False |
| updated_date | 2025-11-06T06:51:31.235846 |
| primary_topic.id | https://openalex.org/T12111 |
| primary_topic.field.id | https://openalex.org/fields/22 |
| primary_topic.field.display_name | Engineering |
| primary_topic.score | 0.8989999890327454 |
| primary_topic.domain.id | https://openalex.org/domains/3 |
| primary_topic.domain.display_name | Physical Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/2209 |
| primary_topic.subfield.display_name | Industrial and Manufacturing Engineering |
| primary_topic.display_name | Industrial Vision Systems and Defect Detection |
| related_works | https://openalex.org/W4391375266, https://openalex.org/W2899084033, https://openalex.org/W2748952813, https://openalex.org/W2492471733, https://openalex.org/W4395679069, https://openalex.org/W2390279801, https://openalex.org/W3013012681, https://openalex.org/W4391913857, https://openalex.org/W2358668433, https://openalex.org/W4396701345 |
| cited_by_count | 0 |
| locations_count | 2 |
| best_oa_location.id | pmh:oai:arXiv.org:2410.18412 |
| best_oa_location.is_oa | True |
| best_oa_location.source.id | https://openalex.org/S4306400194 |
| best_oa_location.source.issn | |
| best_oa_location.source.type | repository |
| best_oa_location.source.is_oa | True |
| best_oa_location.source.issn_l | |
| best_oa_location.source.is_core | False |
| best_oa_location.source.is_in_doaj | False |
| best_oa_location.source.display_name | arXiv (Cornell University) |
| best_oa_location.source.host_organization | https://openalex.org/I205783295 |
| best_oa_location.source.host_organization_name | Cornell University |
| best_oa_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| best_oa_location.license | |
| best_oa_location.pdf_url | https://arxiv.org/pdf/2410.18412 |
| best_oa_location.version | submittedVersion |
| best_oa_location.raw_type | text |
| best_oa_location.license_id | |
| best_oa_location.is_accepted | False |
| best_oa_location.is_published | False |
| best_oa_location.raw_source_name | |
| best_oa_location.landing_page_url | http://arxiv.org/abs/2410.18412 |
| primary_location.id | pmh:oai:arXiv.org:2410.18412 |
| primary_location.is_oa | True |
| primary_location.source.id | https://openalex.org/S4306400194 |
| primary_location.source.issn | |
| primary_location.source.type | repository |
| primary_location.source.is_oa | True |
| primary_location.source.issn_l | |
| primary_location.source.is_core | False |
| primary_location.source.is_in_doaj | False |
| primary_location.source.display_name | arXiv (Cornell University) |
| primary_location.source.host_organization | https://openalex.org/I205783295 |
| primary_location.source.host_organization_name | Cornell University |
| primary_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| primary_location.license | |
| primary_location.pdf_url | https://arxiv.org/pdf/2410.18412 |
| primary_location.version | submittedVersion |
| primary_location.raw_type | text |
| primary_location.license_id | |
| primary_location.is_accepted | False |
| primary_location.is_published | False |
| primary_location.raw_source_name | |
| primary_location.landing_page_url | http://arxiv.org/abs/2410.18412 |
| publication_date | 2024-10-24 |
| publication_year | 2024 |
| referenced_works_count | 0 |
| abstract_inverted_index.a | 51, 77, 170 |
| abstract_inverted_index.-- | 156 |
| abstract_inverted_index.2% | 175 |
| abstract_inverted_index.In | 45 |
| abstract_inverted_index.It | 88 |
| abstract_inverted_index.in | 5, 29, 131, 147, 165 |
| abstract_inverted_index.of | 80, 149, 162 |
| abstract_inverted_index.on | 176 |
| abstract_inverted_index.or | 41 |
| abstract_inverted_index.to | 9, 24, 55, 75, 85, 97, 125 |
| abstract_inverted_index.we | 48 |
| abstract_inverted_index.The | 134 |
| abstract_inverted_index.all | 160 |
| abstract_inverted_index.and | 12, 27, 65, 104, 145, 153 |
| abstract_inverted_index.are | 2 |
| abstract_inverted_index.can | 158 |
| abstract_inverted_index.low | 62 |
| abstract_inverted_index.set | 79 |
| abstract_inverted_index.the | 16, 115 |
| abstract_inverted_index.Data | 0 |
| abstract_inverted_index.Kard | 146 |
| abstract_inverted_index.both | 150 |
| abstract_inverted_index.data | 20, 52, 86, 121, 163 |
| abstract_inverted_index.from | 35 |
| abstract_inverted_index.high | 38, 66 |
| abstract_inverted_index.less | 173 |
| abstract_inverted_index.like | 143 |
| abstract_inverted_index.only | 100 |
| abstract_inverted_index.race | 53, 122 |
| abstract_inverted_index.show | 137 |
| abstract_inverted_index.than | 174 |
| abstract_inverted_index.that | 138 |
| abstract_inverted_index.then | 89 |
| abstract_inverted_index.this | 46 |
| abstract_inverted_index.with | 60, 110 |
| abstract_inverted_index.Given | 114 |
| abstract_inverted_index.Intel | 95 |
| abstract_inverted_index.data, | 117 |
| abstract_inverted_index.i.e., | 94 |
| abstract_inverted_index.kinds | 161 |
| abstract_inverted_index.often | 22 |
| abstract_inverted_index.races | 1, 21, 57, 129, 164 |
| abstract_inverted_index.runs. | 31, 133 |
| abstract_inverted_index.sound | 72 |
| abstract_inverted_index.terms | 148 |
| abstract_inverted_index.these | 101 |
| abstract_inverted_index.tools | 142 |
| abstract_inverted_index.trace | 92 |
| abstract_inverted_index.while | 59, 168 |
| abstract_inverted_index.detect | 56, 159 |
| abstract_inverted_index.during | 108 |
| abstract_inverted_index.either | 36 |
| abstract_inverted_index.escape | 23 |
| abstract_inverted_index.events | 107 |
| abstract_inverted_index.issues | 4 |
| abstract_inverted_index.memory | 82, 102 |
| abstract_inverted_index.paper, | 47 |
| abstract_inverted_index.races. | 87 |
| abstract_inverted_index.record | 99 |
| abstract_inverted_index.report | 127 |
| abstract_inverted_index.static | 73 |
| abstract_inverted_index.suffer | 34 |
| abstract_inverted_index.thread | 105 |
| abstract_inverted_index.timely | 126 |
| abstract_inverted_index.Despite | 15 |
| abstract_inverted_index.ProRace | 144 |
| abstract_inverted_index.employs | 71 |
| abstract_inverted_index.firstly | 70 |
| abstract_inverted_index.leading | 8 |
| abstract_inverted_index.minimal | 78 |
| abstract_inverted_index.monitor | 54 |
| abstract_inverted_index.runtime | 39, 63, 112, 151 |
| abstract_inverted_index.tracing | 116 |
| abstract_inverted_index.Existing | 32 |
| abstract_inverted_index.HardRace | 69, 118, 139, 157 |
| abstract_inverted_index.PTWRITE, | 96 |
| abstract_inverted_index.accesses | 83, 103 |
| abstract_inverted_index.analysis | 74 |
| abstract_inverted_index.average. | 177 |
| abstract_inverted_index.critical | 3 |
| abstract_inverted_index.deployed | 25 |
| abstract_inverted_index.hardware | 91 |
| abstract_inverted_index.in-house | 18 |
| abstract_inverted_index.manifest | 28 |
| abstract_inverted_index.occurred | 130 |
| abstract_inverted_index.overhead | 40, 64, 152 |
| abstract_inverted_index.performs | 119 |
| abstract_inverted_index.program, | 7 |
| abstract_inverted_index.relevant | 84 |
| abstract_inverted_index.software | 26 |
| abstract_inverted_index.standard | 120 |
| abstract_inverted_index.testing, | 19 |
| abstract_inverted_index.HardRace, | 50 |
| abstract_inverted_index.detection | 43, 67, 123, 154 |
| abstract_inverted_index.determine | 76 |
| abstract_inverted_index.essential | 81 |
| abstract_inverted_index.execution | 109 |
| abstract_inverted_index.extensive | 17 |
| abstract_inverted_index.introduce | 49 |
| abstract_inverted_index.leverages | 90 |
| abstract_inverted_index.overhead, | 172 |
| abstract_inverted_index.overhead. | 113 |
| abstract_inverted_index.potential | 128 |
| abstract_inverted_index.problems. | 14 |
| abstract_inverted_index.algorithms | 124 |
| abstract_inverted_index.approaches | 33 |
| abstract_inverted_index.capability | 155 |
| abstract_inverted_index.incomplete | 42 |
| abstract_inverted_index.negligible | 111, 171 |
| abstract_inverted_index.on-the-fly | 58 |
| abstract_inverted_index.production | 30, 132 |
| abstract_inverted_index.read-world | 166 |
| abstract_inverted_index.capability. | 44, 68 |
| abstract_inverted_index.evaluations | 136 |
| abstract_inverted_index.maintaining | 169 |
| abstract_inverted_index.outperforms | 140 |
| abstract_inverted_index.selectively | 98 |
| abstract_inverted_index.applications | 167 |
| abstract_inverted_index.catastrophic | 11 |
| abstract_inverted_index.experimental | 135 |
| abstract_inverted_index.instruction, | 93 |
| abstract_inverted_index.sufficiently | 61 |
| abstract_inverted_index.multithreaded | 6 |
| abstract_inverted_index.prohibitively | 37 |
| abstract_inverted_index.unpredictable, | 10 |
| abstract_inverted_index.synchronization | 106 |
| abstract_inverted_index.state-of-the-art | 141 |
| abstract_inverted_index.difficult-to-diagnose | 13 |
| cited_by_percentile_year | |
| countries_distinct_count | 0 |
| institutions_distinct_count | 7 |
| citation_normalized_percentile |