paperbot · PL 论文追踪

全部论文 待读 收藏

P2 All you need is logs: improving code completion by learning from anonymous IDE usage logs

有日志就够了:通过从匿名 IDE 使用日志中学习来改进代码补全
FSE Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2022匹配度 2/10 · 论文聚焦用IDE匿名使用日志训练代码补全排序模型,属于代码补全/开发者工具与ML应用,并未涉及静态分析、形式化验证、Agentic程序、浮点程序分析或贝叶斯程序分析,也非LLM/Agent改进程序分析。虽具有工业A/B落地价值,但与用户研究方向核心不匹配。引用 13 inbox
Vitaliy Bibaev, Alexey Kalina, Vadim Lomshakov, Yaroslav Golubev, Alexander Bezzubov, Nikita Povarov, Timofey Bryksin
crossref: 2026-09-12

AI 速览

一句话:提出采集IDE匿名补全日志,训练CatBoost排序模型改进代码补全,并在A/B测试中将完成补全所需输入动作从2.073降至1.832。

本文关注IDE中代码补全候选排序问题,旨在利用真实用户行为日志提升补全体验。作者提出从IntelliJ系IDE用户处匿名采集补全使用日志,设计描述补全候选及其上下文的特征,并在Early Access Program中部署日志收集。基于收集到的用户补全数据,训练CatBoost排序模型,对补全候选进行排序。评估分两部分:一是在留出的补全数据集上测试,二是在IDE中对两组用户进行独立A/B测试。结果表明,使用过去用户行为日志训练出的简单排序模型显著优于默认启发式排序,完成一次补全所需的输入动作数从2.073降低到1.832。

问题
默认基于启发式的代码补全候选排序不够理想,如何利用真实IDE使用行为学习更好的补全排序模型。
方法
在IntelliJ系IDE的Early Access Program中匿名采集用户补全日志,构造候选与上下文特征,并训练CatBoost排序模型。
评估
在留出的补全数据集以及两组IDE用户的A/B测试中评估,比较补全排序效果与完成补全所需输入动作数。
原文摘要(Abstract)

In this work, we propose an approach for collecting completion usage logs from the users in an IDE and using them to train a machine learning based model for ranking completion candidates. We developed a set of features that describe completion candidates and their context, and deployed their anonymized collection in the Early Access Program of IntelliJ-based IDEs. We used the logs to collect a dataset of code completions from users, and employed it to train a ranking CatBoost model. Then, we evaluated it in two settings: on a held-out set of the collected completions and in a separate A/B test on two different groups of users in the IDE. Our evaluation shows that using a simple ranking model trained on the past user behavior logs significantly improved code completion experience. Compared to the default heuristics-based ranking, our model demonstrated a decrease in the number of typing actions necessary to perform the completion in the IDE from 2.073 to 1.832.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot7086,
  title = {All you need is logs: improving code completion by learning from anonymous IDE usage logs},
  author = {Vitaliy Bibaev and Alexey Kalina and Vadim Lomshakov and Yaroslav Golubev and Alexander Bezzubov and Nikita Povarov and Timofey Bryksin},
  booktitle = {FSE},
  year = {2022},
  doi = {10.1145/3540250.3558968}
}