paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Accurate Data Race Prediction in the Linux Kernel through Sparse Fourier Learning

通过稀疏傅里叶学习实现 Linux 内核中精确的数据竞争预测
OOPSLA 8(OOPSLA1)2024匹配度 4/10 · 论文属于机器学习辅助程序分析,与PL+ML交叉及工业落地兴趣有一定关联,但其核心是稀疏傅里叶学习做数据竞争预测,不涉及用户重点关注的LLM/Agent、浮点程序分析或贝叶斯程序分析。引用 2 inbox
Gabriel Ryan, Burcu Cetin, Yongwhan Lim, Suman Jana
crossref: 2026-09-10

AI 速览

一句话:将执行轨迹可行性建模为稀疏布尔函数并用稀疏傅里叶学习求解,提升 Linux 内核数据竞争预测精度与发现数量。

Linux 内核数据竞争测试面临系统调用与线程交错空间指数级增长的可扩展性挑战。本文提出一种新的执行轨迹可行性建模方法,将轨迹可行性预测分解为针对特定内存访问的独立布尔指示函数学习子任务,并利用稀疏傅里叶学习分别学习每个子任务。由于每个内存访问的可行性通常只依赖少量相关内存访问或系统调用,可行性函数在傅里叶域中具有稀疏性,因而可被高效学习。作者结合学习到的可行性函数与保守别名分析,实现了内核竞争测试系统 HBFourier。在较新的 Linux 开发内核上评估,HBFourier 比次优系统多发现 44 个竞争,竞争预测准确率提高 15.7%,并识别出 5 个被内核开发者确认的新竞争缺陷。

问题
Linux 内核中系统调用与线程交错空间指数级庞大,导致数据竞争测试与预测难以准确且可扩展地判断执行轨迹的可行性。
方法
将轨迹可行性预测分解为针对特定内存访问的布尔指示函数学习子任务,利用可行性函数在傅里叶域的稀疏性进行稀疏傅里叶学习,并结合保守别名分析实现内核竞争测试系统 HBFourier。
评估
在较新的 Linux 开发内核上评估,与现有最佳系统相比多发现 44 个数据竞争,预测准确率提高 15.7%,并发现 5 个被内核开发者确认的新竞争缺陷。
原文摘要(Abstract)

Testing for data races in the Linux OS kernel is challenging because there is an exponentially large space of system calls and thread interleavings that can potentially lead to concurrent executions with races. In this work, we introduce a new approach for modeling execution trace feasibility and apply it to Linux OS Kernel race prediction. To address the fundamental scalability challenge posed by the exponentially large domain of possible execution traces, we decompose the task of predicting trace feasibility into independent prediction subtasks encoded as learning Boolean indicator functions for specific memory accesses, and apply a sparse fourier learning approach to learning each feasibility subtask. Boolean functions that are sparse in their fourier domain can be efficiently learned by estimating the coefficients of their fourier expansion. Since the feasibility of each memory access depends on only a few other relevant memory accesses or system calls (e.g., relevant inter-thread communications), we observe that trace feasibility functions often have this sparsity property and can be learned efficiently. We use learned trace feasibility functions in conjunction with conservative alias analysis to implement a kernel race-testing system, HBFourier, that uses sparse fourier learning to efficiently model feasibility when making predictions. We evaluate our approach on a recent Linux development kernel and show it finds 44 more races with 15.7% more accurate race predictions than the next best performing system in our evaluation, in addition to identifying 5 new race bugs confirmed by kernel developers.

链接与引用

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

BibTeX
@article{paperbot2568,
  title = {Accurate Data Race Prediction in the Linux Kernel through Sparse Fourier Learning},
  author = {Gabriel Ryan and Burcu Cetin and Yongwhan Lim and Suman Jana},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA1},
  year = {2024},
  doi = {10.1145/3649840}
}