Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &Amp; Data Mining 2019
DOI: 10.1145/3292500.3330699
|View full text |Cite
|
Sign up to set email alerts
|

Pythia: AI-assisted Code Completion System

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… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
81
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
3
3
3

Relationship

1
8

Authors

Journals

citations
Cited by 115 publications
(82 citation statements)
references
References 11 publications
(12 reference statements)
1
81
0
Order By: Relevance
“…Therefore, in addition to the local context in LHS and previous concurrent assignments, we utilize the types of signals as global context as they are extracted from the port and local signal declarations at the beginning of entity/architecture definitions. This idea aligns with the recent work that uses types for code completion in imperative languages [27,53].…”
Section: Neural Architecturesupporting
confidence: 69%
See 1 more Smart Citation
“…Therefore, in addition to the local context in LHS and previous concurrent assignments, we utilize the types of signals as global context as they are extracted from the port and local signal declarations at the beginning of entity/architecture definitions. This idea aligns with the recent work that uses types for code completion in imperative languages [27,53].…”
Section: Neural Architecturesupporting
confidence: 69%
“…Raychev et al [45] proposed an RNN language model for completing holes in partial programs with the most likely sequences of API method calls. Svyatkovskiy et al [53] proposed a neural code completion model that incorporates type information, instantiated as a tool called Pythia for Python. Hellendoorn et al [16] applied several code completion tools on real-world data and analyzed the real-world efficacy of those tools.…”
Section: Related Workmentioning
confidence: 99%
“…Since these languages by definition have a grammar, syntax, and known relationships between entities, they offer enticing opportunities for an even deeper probing of NLP models and tasks. Beyond theoretical importance, many NLP tasks have practical utility in software development environments: language modeling or generation can be used for code completion (Raychev et al, 2014;Bruch et al, 2009;Svyatkovskiy et al, 2019Svyatkovskiy et al, , 2020, translation/summarization to generate documentation or natural language summaries (Moreno et al, 2013;Scalabrino et al, 2017;Wan et al, 2018;Alon et al, 2018) or even summarize a set of code changes (Moreno et al, 2014), translation and grammar error correction to patch and detect bugs (Zhai et al, 2019), and joint embedding of code and natural language for code search (Husain et al, 2019;Gu et al, 2018).…”
Section: Introductionmentioning
confidence: 99%
“…For next token prediction, a popular method is to feed the source sequence tokens into an RNN (or LSTM) [8 ]- [10], [22]. An RNN embeds the input tokens into a vector: x t = emb(wt), where wt is the source token seen at the t 'th time step.…”
Section: B Seqrnnmentioning
confidence: 99%