Write a Blog >>
ICSE 2021
Mon 17 May - Sat 5 June 2021
Wed 26 May 2021 19:10 - 19:30 at Blended Sessions Room 3 - 2.5.3. Code Completion Chair(s): Marsha Chechik
Thu 27 May 2021 07:10 - 07:30 at Blended Sessions Room 3 - 2.5.3. Code Completion

Code prediction, more specifically autocomplete, has become an essential feature in modern IDEs. Autocomplete is more effective when the desired next token is at (or close to) the top of the list of potential completions offered by the IDE at cursor position. This is where the strength of the underlying machine learning system that produces a ranked order of potential completions comes into play.

We advance the state-of-the-art in the accuracy of code prediction (next token prediction) used in autocomplete systems. Our work uses Transformers as the base neural architecture. We show that by making the Transformer architecture aware of the syntactic structure of code, we increase the margin by which a Transformer-based system outperforms previous systems. With this, it outperforms the accuracy of several state-of-the-art next token prediction systems by margins ranging from 14% to 18%.

We present in the paper several ways of communicating the code structure to the Transformer, which is fundamentally built for processing sequence data. We provide a comprehensive experimental evaluation of our proposal, along with alternative design choices, on a standard Python dataset, as well as on a company internal Python corpus. Our code and data preparation pipeline will be available in open source.

Conference Day
Wed 26 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

18:50 - 19:50
2.5.3. Code CompletionSEIP - Software Engineering in Practice / Technical Track at Blended Sessions Room 3 +12h
Chair(s): Marsha ChechikUniversity of Toronto
18:50
20m
Paper
Siri, Write the Next MethodTechnical Track
Technical Track
Fengcai WenSoftware Institute, USI Università della Svizzera italiana, Emad AghajaniSoftware Institute, USI Università della Svizzera italiana, Csaba NagySoftware Institute, USI Università della Svizzera italiana, Michele LanzaSoftware Institute, USI Università della Svizzera italiana, Gabriele BavotaSoftware Institute, USI Università della Svizzera italiana
Pre-print Media Attached
19:10
20m
Paper
Code Prediction by Feeding Trees to TransformersTechnical Track
Technical Track
Seohyun KimFacebook, Jinman ZhaoUniversity of Wisconsin-Madison, USA, Yuchi TianColumbia University, Satish ChandraFacebook, USA
Pre-print Media Attached
19:30
20m
Paper
Learning Autocompletion from Real-World DatasetsSEIP
SEIP - Software Engineering in Practice
Gareth AyeFacebook, Inc., Seohyun KimFacebook, Hongyu LiFacebook, Inc.
Pre-print Media Attached

Conference Day
Thu 27 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

06:50 - 07:50
06:50
20m
Paper
Siri, Write the Next MethodTechnical Track
Technical Track
Fengcai WenSoftware Institute, USI Università della Svizzera italiana, Emad AghajaniSoftware Institute, USI Università della Svizzera italiana, Csaba NagySoftware Institute, USI Università della Svizzera italiana, Michele LanzaSoftware Institute, USI Università della Svizzera italiana, Gabriele BavotaSoftware Institute, USI Università della Svizzera italiana
Pre-print Media Attached
07:10
20m
Paper
Code Prediction by Feeding Trees to TransformersTechnical Track
Technical Track
Seohyun KimFacebook, Jinman ZhaoUniversity of Wisconsin-Madison, USA, Yuchi TianColumbia University, Satish ChandraFacebook, USA
Pre-print Media Attached
07:30
20m
Paper
Learning Autocompletion from Real-World DatasetsSEIP
SEIP - Software Engineering in Practice
Gareth AyeFacebook, Inc., Seohyun KimFacebook, Hongyu LiFacebook, Inc.
Pre-print Media Attached