探索大语言模型在解决环境相关崩溃缺陷中的应用:定位与修复
软件工程
2025-09-03 v2 人工智能
计算与语言
摘要
软件崩溃缺陷会导致意外的程序行为甚至突然终止,因此需要立即解决。然而,由于崩溃缺陷的根因复杂,可能源于源代码问题或第三方库依赖等外部因素,解决崩溃缺陷极具挑战性。大语言模型在软件工程任务中展现出潜力。然而,现有研究主要关注 LLM 定位和修复代码相关崩溃缺陷的能力,而其在解决真实世界软件中环境相关崩溃缺陷方面的有效性尚未被探索。为了填补这一空白,我们进行了首次全面研究,以评估 LLM 解决真实世界环境相关崩溃缺陷的能力。我们首先系统地比较了 LLM 在不同崩溃上下文信息水平下解决代码相关和环境相关崩溃缺陷的性能。我们的发现表明,定位是解决代码相关崩溃的主要挑战,而修复对环境相关崩溃构成了更大的挑战。此外,我们研究了不同提示策略对改善环境相关崩溃缺陷解决的影响,结合了不同的提示模板和多轮交互。在此基础上,我们进一步探索了一种利用 LLM 自规划能力的高级主动询问提示策略。基于这些探索,我们提出了 IntDiagSolver,这是一种旨在通过与 LLM 持续交互实现精确崩溃缺陷解决的交互式方法。在多个 LLM(包括 GPT-3.5、GPT-4、Claude、CodeLlama、DeepSeek-R1 和 Qwen-3-Coder)上对 IntDiagSolver 的广泛评估表明,解决准确率有一致提升,在定位上提升幅度为 9.1% 至 43.3%,在修复上提升幅度为 9.1% 至 53.3%。
引用
@article{arxiv.2312.10448,
title = {Exploring Large Language Models in Resolving Environment-Related Crash Bugs: Localizing and Repairing},
author = {Xueying Du and Mingwei Liu and Hanlin Wang and Juntao Li and Xin Peng and Yiling Lou},
journal= {arXiv preprint arXiv:2312.10448},
year = {2025}
}