论文

“重构失控”:理解和缓解 编码智能体 中的混乱重构以解决问题

"Refactoring Runaway": Understanding and Mitigating Tangled Refactorings in Coding Agents for Issue Resolution

摘要

编码智能体 的最新进展表明在软件问题解决方面取得了显着进展。在实践中,现实世界的问题通常是错误修复或功能请求,其中人类开发人员自然地将重构作为解决过程的一部分,从而导致混乱的重构。由于 LLM 是在大型开源存储库上进行训练的,因此 编码智能体 可能会继承此类行为。在本文中,我们在 Multi-SWE-bench 上进行了实证研究,分析了三个代理框架生成的 3,691 个有效补丁,其中包含 12 个 LLM。我们发现,与人类开发人员相比,编码智能体 引入混乱重构的频率较低(21.43% vs. 36.72%),强度也较低(0.66 vs. 1.75),尽管它们表现出更广泛的重构类型多样性。逻辑回归分析进一步表明,混乱的重构与可编译性降低密切相关,而与功能正确性没有显着关联。基于这些发现,我们提出了一种重构感知的细化方法,该方法可以评估混乱重构的必要性和安全性,并有选择地删除或修复有问题的操作。我们的方法将编译性从 19.34% 提高到 38.33%,还解决了 2.79% 以前未解决的问题。总的来说,这项工作为理解代理问题解决中复杂的重构实践迈出了第一步,并为未来的工作开辟了途径。