arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2402.09230cs.SEcs.LG
收藏

用于全行代码补全的上下文组合

Context Composing for Full Line Code Completion

JetBrains(捷德创新科技公司)

Anton Semenkin, Yaroslav Sokolov, Evgeniia Vu

AI总结:

本文提出一种为 Transformer 模型进行上下文组合的方法,用于实现全行代码补全功能,并在 PyCharm Pro IDE 的真实用户 A/B 测试中验证了其有效性。

摘要:

代码补全是最常用的集成开发环境(IDE)功能之一,影响着软件开发者的日常生活。现代代码补全方法已从组合多个基于静态分析的贡献者,转变为涉及神经网络的流水线。这一改变使得能够提出更长的代码建议,同时保持生成过程本身相对较短的时间。在 JetBrains,我们投入大量精力完善代码补全工作流,使其既能对程序员有帮助又不会造成干扰。我们成功将全行代码补全功能发布到 PyCharm Pro IDE,并在数百名真实 Python 用户的 A/B 测试中证明了其有用性。本文描述了我们为 Transformer 模型进行上下文组合的方法,该模型是该功能实现的核心。此外,我们分享了改进该功能的下一步计划,并强调了该领域中几个研究方面的重要性。

英文摘要:

Code Completion is one of the most used Integrated Development Environment (IDE) features, which affects the everyday life of a software developer. Modern code completion approaches moved from the composition of several static analysis-based contributors to pipelines that involve neural networks. This change allows the proposal of longer code suggestions while maintaining the relatively short time spent on generation itself. At JetBrains, we put a lot of effort into perfecting the code completion workflow so it can be both helpful and non-distracting for a programmer. We managed to ship the Full Line Code Completion feature to PyCharm Pro IDE and proved its usefulness in A/B testing on hundreds of real Python users. The paper describes our approach to context composing for the Transformer model that is a core of the feature's implementation. In addition to that, we share our next steps to improve the feature and emphasize the importance of several research aspects in the area.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑