论文
TRACE:交替使用神经归纳与工具演绎预测项目级代码编辑
Learning Project-wise Subsequent Code Edits via Interleaving Neural-based Induction and Tool-based Deduction
摘要
在工业和开源软件工程任务中,开发人员经常执行项目级的代码编辑任务,包括功能增强、重构和错误修复,其中领先的人工智能模型有望支持生产力。因此,研究人员和实践者提出并采用了许多基于 LLM 的解决方案来促进其实际开发。然而,它们很大程度上受到预测范围、准确性和效率之间的平衡的影响。例如,像 Cursor 这样的解决方案只能在本地编辑范围内实现高精度,而在跨文件编辑时其性能会下降。相比之下,CoEdPilot 等解决方案在用于预测项目编辑时表现出效率限制。在这项工作中,我们提出了 TRACE(代码编辑工具集成推荐),这是一种新颖的后续代码编辑解决方案,可以突破范围、准确性和效率的界限。我们的理由在于,代码编辑是由于语义或语法原因而触发的。因此,TRACE 通过交织用于语义编辑预测的基于神经的归纳和用于句法编辑预测的基于工具的推导来预测后续编辑。这些工具可以是任何 IDE 工具,例如重构工具(例如重命名)或 linting 工具(例如 use-def),提供推导编辑位置和编辑生成的良好性能。从技术上讲,我们解决了以下挑战:(1)何时交织基于神经的预测和基于工具的预测以及(2)如何进一步提高基于神经的预测的性能。对于前者,我们学习一个神经模型来检测何时调用 IDE 编辑工具。对于后者,我们提出了一种新颖且细粒度的编辑表示,以进一步提高神经编辑模型的性能。 ......