paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Lightweight Concolic Testing via Path-Condition Synthesis for Deep Learning Libraries

通过路径条件合成对深度学习库进行轻量级混合执行测试
ICSE 2025 IEEE/ACM 47th International Conference on Software Engineering (ICSE)2025匹配度 5/10 · 论文将混合执行/动态符号执行与归纳程序合成用于深度学习库测试,属于程序分析在 ML 系统中的工程应用,与 PL→AI 方向存在一定交集;但它不是静态分析,也不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,因此与核心研究画像仅部分匹配。引用 1 inbox
Sehoon Kim, Yonghyeon Kim, Dahyeon Park, Yuseok Jeon, Jooyong Yi, Mijung Kim
crossref: 2026-09-12

AI 速览

一句话:提出首个面向深度学习库的轻量级混合执行测试技术,用归纳合成近似路径条件以提升分支覆盖与缺陷检测。

现有深度学习库测试技术多依赖黑盒模糊测试生成输入,虽能提升 API 与代码覆盖率并发现未知缺陷,但难以有效探索多样执行路径。传统 concolic 测试可缓解该问题,却因深度学习库的固有复杂性而极难应用。本文提出首个面向深度学习库的 concolic 测试技术,采用轻量级方法显著降低传统 concolic 测试的重开销:不维护每个非具体值变量的符号表达式来构建路径条件,而是通过归纳程序合成推断分支条件,计算近似路径条件。尽管近似可能带来不精确性,但轻量开销使其能够在复杂深度学习库实现中有效探索多样执行路径。作者实现工具 Pathfinder,并在 PyTorch 与 TensorFlow 上评估。结果表明,Pathfinder 平均分支覆盖率比现有 API 级深度学习库模糊测试器高 67%,分别比 TitanFuzz 和 FreeFuzz 高至多 63% 和 120%;同时发现 61 个崩溃缺陷,其中 59 个被开发者确认为此前未知,32 个已修复。

问题
现有深度学习库测试主要依赖黑盒模糊测试生成输入,难以有效探索复杂执行路径;而传统 concolic 测试因深度学习库的固有复杂性而极难直接应用。
方法
提出轻量级 concolic 测试技术,不维护每个非具体值变量的符号表达式,而是通过归纳程序合成推断分支条件,从而得到近似路径条件;并实现工具 Pathfinder。
评估
在 PyTorch 与 TensorFlow 上评估,与 TitanFuzz、FreeFuzz 等 API 级深度学习库模糊测试器比较分支覆盖率和缺陷检测效果。结果显示平均分支覆盖提高 67%,并发现 61 个崩溃缺陷,其中 59 个为开发者确认的未知缺陷,32 个已修复。
原文摘要(Abstract)

Many techniques have been recently developed for testing deep learning (DL) libraries. Although these techniques have effectively improved API and code coverage and detected unknown bugs, they rely on blackbox fuzzing for input generation. Concolic testing (also known as dynamic symbolic execution) can be more effective in exploring diverse execution paths, but applying it to DL libraries is extremely challenging due to their inherent complexity. In this paper, we introduce the first concolic testing technique for DL libraries. Our technique offers a lightweight approach that significantly reduces the heavy overhead associated with traditional concolic testing. While symbolic execution maintains symbolic expressions for every variable with non-concrete values to build a path condition, our technique computes approximate path conditions by inferring branch conditions via inductive program synthesis. Despite potential imprecision from approximation, our method's light overhead allows for effective exploration of diverse execution paths within the complex implementations of DL libraries. We have implemented our tool, Pathfinder, and evaluated it on PyTorch and TensorFlow. Our results show that Pathfinder outperforms existing API-level DL library fuzzers by achieving 67% more branch coverage on average; up to 63% higher than TitanFuzz and 120% higher than FreeFuzz. Pathfinder is also effective in bug detection, uncovering 61 crash bugs, 59 of which were confirmed by developers as previously unknown, with 32 already fixed.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8863,
  title = {Lightweight Concolic Testing via Path-Condition Synthesis for Deep Learning Libraries},
  author = {Sehoon Kim and Yonghyeon Kim and Dahyeon Park and Yuseok Jeon and Jooyong Yi and Mijung Kim},
  booktitle = {ICSE},
  year = {2025},
  doi = {10.1109/icse55347.2025.00202}
}