학술논문

Fast and Memory-Efficient Neural Code Completion
Document Type
Conference
Source
2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR) MSR Mining Software Repositories (MSR), 2021 IEEE/ACM 18th International Conference on. :329-340 May, 2021
Subject
Computing and Processing
Deep learning
Computational modeling
Neural networks
Random access memory
Static analysis
Predictive models
Software
code completion
deep learning
API completion
Language
ISSN
2574-3864
Abstract
Code completion is one of the most widely used features of modern integrated development environments (IDEs). While deep learning has made significant progress in the statistical prediction of source code, state-of-the-art neural network models consume hundreds of megabytes of memory, bloating the development environment. We address this in two steps: first we present a modular neural framework for code completion. This allows us to explore the design space and evaluate different techniques. Second, within this framework we design a novel reranking neural completion model that combines static analysis with granular token encodings. The best neural reranking model consumes just 6 MB of RAM, — 19x less than previous models — computes a single completion in 8 ms, and achieves 90% accuracy in its top five suggestions.