ICSE 2025
Sat 26 April - Sun 4 May 2025 Ottawa, Ontario, Canada
Fri 2 May 2025 16:00 - 16:15 at 203 - Process

In recent years, several industrial solutions for the problem of multi-token code completion appeared, each making a great advance in the area but mostly focusing on cloud-based runtime and avoiding working on the end user’s device.

In this work, we describe our approach for building a multi-token code completion feature for the JetBrains’ IntelliJ Platform, which we call Full Line Code Completion. The feature suggests only syntactically correct code and works fully locally, i.e., data querying and the generation of suggestions happens on the end user’s machine. We share important time and memory-consumption restrictions, as well as design principles that a code completion engine should satisfy. Working entirely on the end user’s device, our code completion engine enriches user experience while being not only fast and compact but also secure. We share a number of useful techniques to meet the stated development constraints and also describe offline and online evaluation pipelines that allowed us to make better decisions.

Our online evaluation shows that the usage of the tool leads to 1.3 times more Python code in the IDE being produced by code completion. The described solution was initially started with a help of researchers and was then bundled into all JetBrains IDEs where it is now used by millions of users. Thus, we believe that this work is useful for bridging academia and industry, providing researchers with the knowledge of what happens when complex research-based solutions are integrated into real products.

Fri 2 May

Displayed time zone: Eastern Time (US & Canada) change

16:00 - 17:30
16:00
15m
Talk
Full Line Code Completion: Bringing AI to Desktop
SE In Practice (SEIP)
Anton Semenkin JetBrains, Vitaliy Bibaev JetBrains, Yaroslav Sokolov JetBrains, Kirill Krylov JetBrains, Alexey Kalina JetBrains, Anna Khannanova JetBrains, Danila Savenkov JetBrains, Darya Rovdo JetBrains, Igor Davidenko JetBrains, Kirill Karnaukhov JetBrains, Maxim Vakhrushev JetBrains, Mikhail Kostyukov JetBrains, Mikhail Podvitskii JetBrains, Petr Surkov JetBrains, Yaroslav Golubev JetBrains Research, Nikita Povarov JetBrains, Timofey Bryksin JetBrains Research
Pre-print
16:15
15m
Talk
Automated Accessibility Analysis of Dynamic Content Changes on Mobile Apps
Research Track
Forough Mehralian University of California at Irvine, Ziyao He University of California, Irvine, Sam Malek University of California at Irvine
16:30
15m
Talk
Qualitative Surveys in Software Engineering Research: Definition, Critical Review, and GuidelinesResearch Methods
Journal-first Papers
Jorge Melegati Free University of Bozen-Bolzano, Kieran Conboy University of Galway, Daniel Graziotin University of Hohenheim
16:45
15m
Talk
VulNet: Towards improving vulnerability management in the Maven ecosystemSecurity
Journal-first Papers
Zeyang Ma Concordia University, Shouvick Mondal IIT Gandhinagar, Tse-Hsun (Peter) Chen Concordia University, Haoxiang Zhang Centre for Software Excellence at Huawei Canada, Ahmed E. Hassan Queen’s University, Zeyang Ma Concordia University
17:00
15m
Talk
Energy-Aware Software Testing
New Ideas and Emerging Results (NIER)
Roberto Verdecchia University of Florence, Emilio Cruciani University of Salzburg, Antonia Bertolino Gran Sasso Science Institute, Breno Miranda Centro de Informática at Universidade Federal de Pernambuco
Pre-print
17:15
7m
Talk
SusDevOps: Promoting Sustainability to a First Principle in Software Delivery
New Ideas and Emerging Results (NIER)
Istvan David McMaster University / McMaster Centre for Software Certification (McSCert)