Cited by 95Software Engineering ResearchSoftware Testing and Debugging TechniquesTeaching and Learning Programming

Fast and Memory-Efficient Neural Code Completion

Open access
Svyatkovskiy, Alexey, Lee, Sebastian, Hadjitofi, Anna, Riechert, Maik, Franco, Juliana Vicente, Allamanis, Miltiadis·2021·2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR)

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.

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1109/msr52588.2021.00045

Cites

41 of 41 references verified0 citation errors · 0 not checkable

Statistics

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Traditional code completion techniques typically involve analyzing code to identify potential suggestions, followed by re-ranking them.

    “Traditional code completion techniques typically involve analyzing code to identify potential suggestions, followed by re-ranking them”

    From RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation (2023) · cites this paper as Svyatkovskiy et al., 2021

    The Candidate Providers section (page unavailable) says static-analysis tools commonly identify plausible completion candidates, and the Approach section describes ranking those candidates. But the paper presents neural reranking as its own novel approach; it does not say traditional code completion techniques typically follow that full sequence. (LLM, conf=0.84)

    Experimental — accuracy not yet measured
  • The traditional re-ranking approach offers efficient performance but lacks flexibility to generate code at arbitrary granularity.

    “While this approach offers efficient performance, it lacks the flexibility to generate code at arbitrary granularity.”

    From RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation (2023) · cites this paper as Svyatkovskiy et al., 2021

    The Introduction reports fast, memory-efficient neural re-ranking, and the Approach says it ranks completion candidates returned by static analysis. Those passages support the efficiency claim, but the paper does not state that re-ranking cannot generate code at arbitrary granularity; its evaluated implementation is for API completion. (LLM, conf=0.84)

    Experimental — accuracy not yet measured
  • The evaluation of context-aware API completion for Visual Studio Intelli-Code considered Recall@5, and this metric fell from 90% in offline evaluation to 70% when used online.

    “The evaluation of context-aware API completion for Visual Studio Intelli-Code considered Recall@5Ðthe proportion of completions for which the correct method call was in the top 5 suggestions.This metric fell from 90% in offline evaluation to 70% when used online [12].”

    From Productivity Assessment of Neural Code Completion (2022) · cites this paper as [12]

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Cites

Flagged first, then by citations

Research works printed but not linked: 7

  1. [1]1. M. Allamanis, E. T. Barr, P. Devanbu, and C. Sutton, "A survey of machine learning for big code and naturalness," ACM Computing Surveys (CSUR), vol. 51, no. 4, p. 81, 2018.
  2. [17]17. M. Allamanis, M. Brockschmidt, and M. Khademi, "Learning to represent programs with graphs," in Pro- ceedings of the International Conference on Learning Representations (ICLR), 2018.
  3. [19]19. R. Sennrich, B. Haddow, and A. Birch, "Neural machine translation of rare words with subword units," in Pro- ceedings of the Annual Meeting of the Association for Computational Linguistics (ACL), 2016.
  4. [20]20. X. Zhang, J. Zhao, and Y. LeCun, "Character-level con- volutional networks for text classification," in Advances in neural information processing systems, 2015, pp. 649- 657.
  5. [23]23. D. Bahdanau, K. Cho, and Y. Bengio, "Neural machine translation by jointly learning to align and translate," in Proceedings of the International Conference on Learning Representations (ICLR), 2015.
  6. [42]42. I. Goodfellow, Y. Bengio, and A. Courville, Deep Learn- ing. MIT Press, 2016, www.deeplearningbook.org.
  7. [46]46. M. Brockschmidt, M. Allamanis, A. L. Gaunt, and O. Polozov, "Generative code modeling with graphs," in Proceedings of the International Conference on Learning Representations (ICLR), 2019.

Cited by

Sorted by citations

Authors
Svyatkovskiy, A., Lee, S., Hadjitofi, A., Riechert, M., Franco, J. V., & Allamanis, M.
Affiliations
Microsoft (United States) (US)
Venue
2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR)
Publisher
IEEE
Published
2021-05
Pages
329-340
OpenAlex
W3021206621
Cited by
95
References
41
Citations by year
2026: 6 · 2025: 19 · 2024: 16 · 2023: 17 · 2022: 21 · 2021: 14 · 2020: 2
FWCI
14.07
Type
conference paper
Language
en
Open access
Locations
  • International Conference on Mining Software Repositories (MSR) (publishedVersion)
  • arXiv (Cornell University) (submittedVersion)
  • arXiv (Cornell University)
Topics
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
  • Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
Keywords
memory efficiency, static analysis, integrated development environment

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review