paperbot · PL 论文追踪

全部论文 待读 收藏

P2 DCNS

DCNS:检测保守的非睡眠(non-sleep)操作缺陷
ASPLOS Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems2019匹配度 4/10 · 论文属于静态分析与抽象解释方向,涉及过程间流分析和函数指针,与用户的PL背景有交集;但其目标是Linux内核性能缺陷检测,不涉及LLM/Agentic、浮点程序分析或贝叶斯程序分析,与用户当前核心研究问题匹配度有限。引用 8 inbox
Jia-Ju Bai, Julia Lawall, Wende Tan, Shi-Min Hu
crossref: 2026-09-12

AI 速览

一句话:提出首个系统化方法检测 Linux 内核中因保守使用非睡眠操作而造成的性能缺陷。

Linux 内核同时提供可睡眠与非睡眠两类等待操作,但只有非睡眠操作能在原子上下文中使用。要判断某处代码是否可能在原子上下文中执行,需要完整的跨过程流分析,且常涉及函数指针,分析难度大。因此开发者可能过于保守,在非原子上下文中也使用非睡眠操作;这类操作会无效占用 CPU,损害系统性能。此前尚不存在系统化检测此类“保守非睡眠”(CNS, conservative non-sleep)缺陷的方法。论文针对该问题提出 DCNS,其核心是结合跨过程流分析与函数指针处理来识别原子上下文,从而定位本可安全使用睡眠操作却仍使用非睡眠操作的位置。给出的摘要未描述具体实现与评估细节。

问题
判定代码是否可能在原子上下文中执行需要完整的跨过程流分析并处理函数指针,开发者由此可能保守地在非原子上下文使用非睡眠操作,无谓占用 CPU 并损害性能;此前没有系统化方法检测这类 CNS 缺陷。
方法
论文提出系统化的检测方法 DCNS,基于跨过程流分析并处理函数指针以判定原子上下文,从而发现保守使用非睡眠操作的位置;摘要未给出方法的更多技术细节。
评估
给出的摘要未提供评估方式、实验对象或检测结果等细节。
原文摘要(Abstract)

For waiting, the Linux kernel offers both sleep-able and non-sleep operations. However, only non-sleep operations can be used in atomic context. Detecting the possibility of execution in atomic context requires a complete inter-procedural flow analysis, often involving function pointers. Developers may thus conservatively use non-sleep operations even outside of atomic context, which may damage system performance, as such operations unproductively monopolize the CPU. Until now, no systematic approach has been proposed to detect such conservative non-sleep (CNS) defects.

链接与引用

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

BibTeX
@inproceedings{paperbot4863,
  title = {DCNS},
  author = {Jia-Ju Bai and Julia Lawall and Wende Tan and Shi-Min Hu},
  booktitle = {ASPLOS},
  year = {2019},
  doi = {10.1145/3297858.3304065}
}