本文重点介绍如何检测和修复性能缺陷。性能缺陷是指软件效率低下、浪费计算资源且不会导致功能错误的缺陷。现有的自动化缺陷修复基准测试侧重于功能正确性,这限制了它们评估性能缺陷等非功能性问题的能力。因此,作者提出了 PerfBench,这是一个基准测试,包含从 GitHub 上流行的 .NET 代码库中提取的 81 个实际性能缺陷修复。PerfBench 提供了一个评估工具,允许代理生成自己的性能基准测试,并通过比较开发人员和代理修复的执行指标来验证修复效果。我们的研究表明,最先进的编码代理在性能优化任务中举步维艰,OpenHands 代理的成功率约为 3%。作者开发了 OpenHands-Perf-Agent,它集成了性能感知工具和指南,成功率约为 20%。