返回
Efficient Black-Box Fault Localization for System-Level Test Code Using Large Language Models
DOI:10.1109/tse.2026.3707426.png)
摘要
En 中文
故障定位(FL)是调试中的关键步骤,通常依赖于重复执行以准确定位有错误的代码区域。然而,在存在非确定性故障或高执行成本的情况下,重复执行可能不切实际。尽管近期研究利用大型语言模型(LLMs)辅助无执行故障定位,但这些方法主要关注识别被测系统(SUT)中的错误,而非常复杂的系统级测试代码,即系统级测试的测试脚本。然而,后者同样重要,因为在实践中,许多故障是由有错误的测试代码触发的。为克服这些挑战,我们引入了一种完全静态、LLM驱动的系统级测试代码故障定位(TCFL)方法,无需执行测试用例。我们的方法使用单个故障执行日志,通过三种新颖算法估计测试的执行轨迹,仅识别可能涉及故障的代码语句。该修剪后的轨迹与错误信息结合,用于提示LLM对潜在错误位置进行排名。我们的黑盒、系统级方法无需访问SUT源代码,适用于评估完整系统行为的复杂测试脚本。我们使用未用于LLM预训练的工业级有误Python测试用例数据集,在函数、块和行级别评估了我们的技术。结果表明,我们估计的最佳轨迹与实际轨迹高度匹配,F1分数约为90%。此外,修剪复杂的系统级测试代码可将LLM的推理时间减少最多34%,且不影响FL性能。我们的结果进一步表明,块级TCFL提供了实用的平衡,缩小了搜索空间同时保留了有用上下文,在Top-3(Hit@3)中达到81%的命中率。最后,我们的TCFL方法实现了等于或更高的FL准确率,每个测试用例的平均推理时间减少85%以上,令牌数减少93%,优于最新的LLM引导FL方法。
Keyword:
Fault localization
large language models
execution trace estimation
software testing and debugging
期刊
IF:
5.6
论文数:
2.9K
被引数:
1.1W
机构
引用论文
暂无论文信息

