TreeRanker: 用于IDE中代码建议的快速且与模型无关的排名系统

发表
Daniele CipolloneDaniele Cipollone 提交
作者: Daniele CipolloneDaniele Cipollone, Egor Bogomolov, Arie van Deursen, Maliheh Izadi

摘要

令牌级代码补全是现代集成开发环境 (IDE) 中最关键的功能之一。它通过在编码期间建议相关的标识符和 API 来帮助开发人员。虽然补全通常源自静态分析,但它们的有用性很大程度上取决于它们的排名方式,因为列表中深藏的正确预测很少被用户看到。大多数现有系统依赖于手工启发式方法或在用户日志上训练的轻量级机器学习模型,这些模型可以进一步改进以捕获上下文信息并跨项目和编码风格进行泛化。在这项工作中,我们提出了一种新的评分方法,以轻量级和模型无关的方式使用语言模型对静态补全进行排名。我们的方法将所有有效的补全组织成一个前缀树,并执行一次贪婪解码过程以收集整个树的令牌级分数。这使得精确的令牌感知排名成为可能,而无需束搜索、提示工程或模型适应。该方法速度快、与架构无关,并与已部署的代码补全模型兼容。这些发现强调了将语言模型集成到 IDE 中已有的工具中的实用而有效途径,并最终提供更智能、更灵敏的开发人员协助。
查看 arXiv 页面查看 PDF
TreeRanker: 用于IDE中代码建议的快速且与模型无关的排名系统

评论

Daniele CipolloneDaniele Cipollone
论文作者
论文提交者

在这项工作中,我们提出了一种新的评分方法,以轻量级和模型无关的方式,使用语言模型对静态补全进行排名。我们的方法将所有有效的补全组织成一个前缀树,并执行一次贪婪解码过程,以收集整个树的令牌级分数。这使得无需束搜索、提示工程或模型调整即可实现精确的令牌感知排名。该方法快速、架构无关,并与已部署的代码补全模型兼容。这些发现突出了将语言模型集成到IDE现有工具中的实用有效途径,并最终提供更智能、响应更快的开发人员协助!