paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Sound Static Data Race Verification for C: Is the Race Lost?

C 语言的健全静态数据竞争验证:这场竞争输了吗?
TOPLAS 47(3)2025匹配度 6/10 · 论文属于静态分析与形式化验证领域,通过基准和代码惯用法揭示数据竞争验证工具的局限,这与用户关注的‘问题驱动’和‘AI→PL’(用LLM改进静态分析)有潜在关联,但本身不涉及LLM/Agent、浮点分析或贝叶斯程序分析,未命中核心交叉方向。引用 3 inbox
Karoliine Holter, Simmo Saan, Patrick Lam, Vesal Vojdani
crossref: 2026-09-10

AI 速览

一句话:通过真实程序基准与代码惯用法微基准,揭示健全静态数据竞争验证工具的能力、局限与不健全性。

本文追问面向真实 C 程序的健全静态数据竞争验证是否已无望。作者选取真实程序基准,提取构成验证障碍的编码惯用法,将其做成微基准并贡献给 SV-COMP。随后评估健全自动验证工具在惯用法与真实程序上的表现。结果:20 个惯用法中 8 个可被某工具验证;但 Goblint、Deagle 等领先工具存在显著不健全性。在资源限制下,7 个工具中 5 个对真实基准无结果,余下仅验证 18 个程序中的 2 个,其余崩溃或不确定。作者指出,当前验证器存在表层与根本障碍,这些是推进该领域的开放问题。

问题
健全的静态数据竞争自由验证长期困难,且多数实用工具已放弃健全性;本文追问其在真实 C 程序上是否已无望。
方法
选取真实程序基准,提取构成验证障碍的编码惯用法,做成微基准并贡献给 SV-COMP,然后评估健全自动验证工具在微基准和真实程序上的表现。
评估
在 SV-COMP 工具与设定资源限制下运行;20 个惯用法中 8 个可验证,7 个工具中 5 个对真实基准无结果,余下仅验证 18 个程序中的 2 个,并发现 Goblint、Deagle 等工具的不健全性。
原文摘要(Abstract)

Sound static data race freedom verification has been a long-standing challenge in the field of programming languages. While actively researched a decade ago, most practical data race detection tools have since abandoned soundness. Is sound static race freedom verification for real-world C programs a lost cause? In this work, we investigate the obstacles to making significant progress in automated race freedom verification. We selected a benchmark suite of real-world programs and, as our primary contribution, extracted a set of coding idioms that represent fundamental barriers to verification. We expressed these idioms as micro-benchmarks and contributed them as evaluation tasks for the International Competition on Software Verification, SV-COMP. To understand the current state, we measure how sound automated verification tools competing in SV-COMP perform on these idioms and also when used out of the box on the real-world programs. For 8 of the 20 coding idioms, there does exist an automated race freedom verifier that can verify it; however, we also found significant unsoundness in leading verifiers, including Goblint and Deagle. Five of the seven tools failed to return any result on any real-world benchmarks under our chosen resource limitations, with the remaining two tools verifying race freedom for 2 of the 18 programs and crashing or returning inconclusive results on the others. We thus show that state-of-the-art verifiers have both superficial and fundamental barriers to correctly analyzing real-world programs. These barriers constitute the open problems that must be solved to make progress on automated static data race freedom verification.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{HolterSLV25,
  title = {Sound Static Data Race Verification for C: Is the Race Lost?},
  author = {Karoliine Holter and Simmo Saan and Patrick Lam and Vesal Vojdani},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {47},
  number = {3},
  year = {2025},
  doi = {10.1145/3732933}
}