250617_Boosting Rust Unit Test Coverage through Hybrid Program Analysis and Large Language Models¶
论文信息
标题: Boosting Rust Unit Test Coverage through Hybrid Program Analysis and Large Language Models
arXiv ID: 2506.09002
作者: Authors:Bei Chu, Yang Feng, Kui Liu, Hange Shi, Zifan Nan, Zhaoqiang Guo, Baowen Xu
发表日期: 2025-06-10T17:21:21+00:00
论文链接: 2506.09002
总结生成时间: 2025-06-17 19:26:49
一句话概要
研究提出PALM方法,通过结合程序分析与大语言模型生成高覆盖率的Rust单元测试,显著提升测试效率与质量。
主体
单元测试对保障软件可靠性至关重要,但传统基于搜索或符号执行的方法常因难以处理复杂分支条件和外部依赖导致覆盖率不足。虽然大语言模型(LLMs)为测试生成提供了新思路,但固定提示模板易导致编译成功率低和覆盖范围有限。作者指出,问题的核心在于如何动态提取代码结构信息并转化为有效的LLM引导策略。
为此,PALM创新性地将程序分析与LLM生成相结合:首先通过静态分析提取函数内的分支条件,将其转化为路径约束;随后将这些约束与上下文信息融合,构建动态提示以指导LLM生成针对性测试用例。这种方法突破了固定提示的局限性,使生成的测试能更精准覆盖复杂代码路径。实验选取10个Rust开源项目验证,结果显示PALM仅需2-3小时即可将项目整体覆盖率提升超50%,平均覆盖率达75.77%,接近人工编写水平(71.30%)。提交的91个生成测试中,80个被社区采纳,证实其实际可用性。
最后一句
该工作为AI驱动的自动化测试开辟了新路径,证明程序分析与大语言模型的协同能有效弥合人工与自动测试的效能差距。