Pythia: AI-assisted Code Completion System
arXiv:1912.00742 · doi:10.1145/3292500.3330699
Abstract
In this paper, we propose a novel end-to-end approach for AI-assisted code completion called Pythia. It generates ranked lists of method and API recommendations which can be used by software developers at edit time. The system is currently deployed as part of Intellicode extension in Visual Studio Code IDE. Pythia exploits state-of-the-art large-scale deep learning models trained on code contexts extracted from abstract syntax trees. It is designed to work at a high throughput predicting the best matching code completions on the order of 100 . We describe the architecture of the system, perform comparisons to frequency-based approach and invocation-based Markov Chain language model, and discuss challenges serving Pythia models on lightweight client devices. The offline evaluation results obtained on 2700 Python open source software GitHub repositories show a top-5 accuracy of 92\%, surpassing the baseline models by 20\% averaged over classes, for both intra and cross-project settings.
Published in Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '19)
Cited by in corpus (14)
- Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review
- Generating Accurate Assert Statements for Unit Test Cases using Pretrained Transformers
- Deep Learning-based Software Engineering: Progress, Challenges, and Opportunities
- CodeFill: Multi-token Code Completion by Jointly Learning from Structure and Naming Sequences
- AutoPruner: Transformer-Based Call Graph Pruning
- Examining Autocompletion as a Basic Concept for Interaction with Generative AI
- Exploring and Evaluating Personalized Models for Code Generation
- Introduction of an Assistance System to Support Domain Experts in Programming Low-code to Leverage Industry 5.0
- Searching a Database of Source Codes Using Contextualized Code Search
- A Closer Look into Transformer-Based Code Intelligence Through Code Transformation: Challenges and Opportunities
- Which Syntactic Capabilities Are Statistically Learned by Masked Language Models for Code?
- TreeRanker: Fast and Model-agnostic Ranking System for Code Suggestions in IDEs
- DeCoMa: Detecting and Purifying Code Dataset Watermarks through Dual Channel Code Abstraction
- Sparse Attention Remapping with Clustering for Efficient LLM Decoding on PIM