基于 LLM 的 C++ 隐式数据丢失编译器警告修复:一项工业案例研究
软件工程
2026-01-22 v1
摘要
本文提出了一种使用大型语言模型(LLM)自动修复大型 C++ 项目中隐式数据丢失警告的方法。我们的方法使用语言服务器协议(LSP)收集上下文,Tree-sitter 提取相关代码,LLM 做出决策并生成修复。该方法评估了与性能影响相关的范围检查的必要性,并生成适当的修复。我们在一个大型 C++ 项目中测试了该方法,在代码审查期间人工开发者对修复的接受率达到 92.73%。与基线修复策略相比,我们的 LLM 生成的修复将由于范围检查和异常处理而引入额外指令的警告修复更改减少了 39.09%。该结果比人工开发者创建的最优解决方案低 13.56%。这些发现表明,我们基于 LLM 的方法能够在实际场景中减少解决编译器警告的人工工作量,同时保持代码质量和性能。我们的自动化方法显示出集成到现有开发工作流中的潜力,有望改善复杂 C++ 软件项目中的代码维护实践。
引用
@article{arxiv.2601.14936,
title = {LLM-Based Repair of C++ Implicit Data Loss Compiler Warnings: An Industrial Case Study},
author = {Chansong You and Hyun Deok Choi and Jingun Hong},
journal= {arXiv preprint arXiv:2601.14936},
year = {2026}
}