一句话:FuSE 用大语言模型为符号执行产生的程序路径自动标注功能规约,从而提升功能测试与缺陷检测能力。
符号执行能系统探索程序路径空间,但受限于传统程序分析技术的固有局限,它无法理解程序的功能语义,因而难以直接用于功能分析与缺陷检测。本文提出 FuSE,将大语言模型与符号执行结合,自动为程序路径标注功能规约,包括自然语言功能描述、前置条件和后置条件。该方法显著降低了功能测试与缺陷检测所需的人工投入。基于 UnitTestBot 实现的原型可成功为 C、C++、Java 和 Python 程序标注功能规约,成功率分别达到 98.2%、95.52%、87% 和 95.37%。在面向专业开发者和测试者的用户研究中,FuSE 帮助用户多发现 21.67% 的功能缺陷,并将功能覆盖率提升 15.83%,展示了其实际可用性。
Symbolic execution shows promise in automated program analysis by systematically exploring the path space of the program. However, due to the inherent limitations of program analysis techniques, symbolic execution cannot understand the program’s functionality, which hinders its application in functional analysis and defect detection. This paper introduces FuSE, a method that enhances symbolic execution with Large Language Models (LLMs) to automatically annotate program paths with functional specifications. A program path is annotated with a natural language description of its functionality, a precondition, and a postcondition. Our method significantly reduces the effort required for functional testing and defect detection. Based on UnitTestBot, FuSE can successfully annotate functional specifications for C, C++, Java, and Python programs, with success rates of 98.2%, 95.52%, 87%, and 95.37%, respectively. In our user study with professional developers and testers, FuSE helps users identify 21.67% more functional defects and improves functional coverage by 15.83%, demonstrating its practical utility.
@inproceedings{paperbot12348,
title = {Large Language Model Enabled Symbolic Execution for Automated Functional Analysis},
author = {Meixi Liu and Zhenbang Chen and Xudong Wang and Ziran He and Jiachen Gu and Minghui Chen and Lei Wang and Wei Dong},
booktitle = {ASE},
year = {2026},
doi = {10.1145/3832783.3837524}
}