arXiv:2608.06397cs.PLcs.AI2026-08

用智能规划提升符号执行覆盖范围,让工具越用越准。

Agentic Planning for Symbolic Execution

论文配图:Agentic Planning for Symbolic Execution
图 1 · 摘自论文原文
  • 通过分析历史运行数据,智能规划后续符号执行的配置和目标。
  • 平均覆盖分支数超连续符号执行3倍以上,优于模糊测试和编译器辅助方法。
  • 适合需要高代码覆盖率的漏洞挖掘与形式化验证场景。

符号执行旨在探索程序可行路径,但实际运行中常因资源耗尽而未能触及大量程序行为。本文提出Agolic——一种基于代理规划的系统,利用先前运行的证据来指导后续受限符号执行(BSE)的配置与目标选择,由底层符号执行工具完成具体状态探索。该系统可适配不同工具与分析目标。我们评估了其在分支覆盖率提升方面的应用,采用基于LLM的代理分析源码、重放覆盖率及此前尝试目标。在多个C/C++程序上测试表明,Agolic在每项程序中均显著提升连续符号执行的分支覆盖率,平均覆盖分支数超过3倍;其覆盖的分支数量也多于每个对比数据集(来自覆盖率引导模糊测试与编译器级合取执行),并在七个项目中的六个成功发现所有对比数据集均未覆盖的分支。结果表明,现有符号执行工具存在巨大未被挖掘潜力,通过跨轮次推理其使用方式,可在不改变底层状态探索机制的前提下大幅提升效果。

原文摘要 · Abstract (English)

Symbolic execution seeks to explore feasible program paths, yet a practical run may exhaust its resources while much program behaviour remains unreached. We investigate a complementary way of extending its practical reach by reasoning about how the same tool is utilised from one bounded run to the next, while leaving ordinary state exploration to the underlying tool. We present Agolic, an agentic planning system that uses evidence from earlier runs to choose and configure later bounded symbolic execution (BSE) runs, which the underlying symbolic execution tool then carries out. The planning intelligence, available evidence and execution modes can be adapted to the symbolic execution tool and analysis objective. We evaluate one adaptation for branch-coverage exploration, in which an LLM-based agent reasons over source code, replayed coverage and earlier targeting attempts. We evaluate Agolic on several C and C++ programs. On every program, it extends the branch coverage obtained by continuous symbolic execution and covers more than $3\times$ as many branches on average. It also covers more branches than each individual corpus from coverage-guided fuzzing and compiler-based concolic execution in our evaluation and reaches branches absent from all comparison corpora combined on six of the seven programs. Taken together, these results point to considerable untapped potential in existing symbolic execution tools, some of which may be realised by reasoning about how their capabilities are used across runs while leaving state selection during ordinary symbolic exploration to the underlying tool.

符号执行智能规划代码覆盖LLM应用

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。