Affiliation:
1. Technische Universität Darmstadt, Darmstadt, Germany
Abstract
Code completion is an integral part of modern
Integrated Development Environments
(IDEs). Developers often use it to explore
Application Programming Interfaces
(APIs). It is also useful to reduce the required amount of typing and to help avoid typos. Traditional code completion systems propose all type-correct methods to the developer. Such a list is often very long with many irrelevant items. More intelligent code completion systems have been proposed in prior work to reduce the list of proposed methods to relevant items.
This work extends one of these existing approaches, the
Best Matching Neighbor
(BMN) algorithm. We introduce Bayesian networks as an alternative underlying model, use additional context information for more precise recommendations, and apply clustering techniques to improve model sizes. We compare our new approach,
Pattern-based Bayesian Networks
(PBN), to the existing BMN algorithm. We extend previously used evaluation methodologies and, in addition to prediction quality, we also evaluate model size and inference speed.
Our results show that the additional context information we collect improves prediction quality, especially for queries that do not contain method calls. We also show that PBN can obtain comparable prediction quality to BMN, while model size and inference speed scale better with large input sizes.
Funder
German Federal Ministry of Education and Research
Publisher
Association for Computing Machinery (ACM)
Cited by
52 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. DeciX: Explain Deep Learning Based Code Generation Applications;Proceedings of the ACM on Software Engineering;2024-07-12
2. AI-Assisted Code Authoring at Scale: Fine-Tuning, Deploying, and Mixed Methods Evaluation;Proceedings of the ACM on Software Engineering;2024-07-12
3. Multi-line AI-Assisted Code Authoring;Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering;2024-07-10
4. Significant Productivity Gains through Programming with Large Language Models;Proceedings of the ACM on Human-Computer Interaction;2024-06-17
5. A survey on machine learning techniques applied to source code;Journal of Systems and Software;2024-03