Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation 2014
DOI: 10.1145/2594291.2594321
|View full text |Cite
|
Sign up to set email alerts
|

Code completion with statistical language models

Abstract: We address the problem of synthesizing code completions for programs using APIs. Given a program with holes, we synthesize completions for holes with the most likely sequences of method calls.Our main idea is to reduce the problem of code completion to a natural-language processing problem of predicting probabilities of sentences. We design a simple and scalable static analysis that extracts sequences of method calls from a large codebase, and index these into a statistical language model. We then employ the l… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
154
0

Year Published

2015
2015
2022
2022

Publication Types

Select...
6
2
1
1

Relationship

0
10

Authors

Journals

citations
Cited by 333 publications
(154 citation statements)
references
References 42 publications
(33 reference statements)
0
154
0
Order By: Relevance
“…A large number of intelligent code completion systems for both statically and dynamically typed languages have been proposed in the literature [4,5,2,6,7,8]. Best Matching Neighbor (BMN) and statistical language models such as n-grams, as well as recurrent neural network (RNN) based approaches leveraging sequential nature of the source code have been particularly effective at creating such systems.…”
Section: Introductionmentioning
confidence: 99%
“…A large number of intelligent code completion systems for both statically and dynamically typed languages have been proposed in the literature [4,5,2,6,7,8]. Best Matching Neighbor (BMN) and statistical language models such as n-grams, as well as recurrent neural network (RNN) based approaches leveraging sequential nature of the source code have been particularly effective at creating such systems.…”
Section: Introductionmentioning
confidence: 99%
“…Future research could expand this work by considering further classes of smart contracts [35] and further details, such as different smart contract compiler versions [36]. Furthermore, future research that aims to support software developers could aim at not only detecting security vulnerabilities in a smart contract, but also at localizing this vulnerability (e.g., by expressing the information which portions of the bytecode cause the vulnerabilities [37]) or even by providing suggestions to fix it [60,61].…”
Section: ) Smart Contract Securitymentioning
confidence: 99%
“…Other methods, such as that of Omar [4] and Raychev et al [5] have also focused on techniques that require more information about the language such as its syntax, or its type system.…”
Section: Prior Workmentioning
confidence: 99%