Siri, Write the Next Method

03/08/2021
by   Fengcai Wen, et al.
0

Code completion is one of the killer features of Integrated Development Environments (IDEs), and researchers have proposed different methods to improve its accuracy. While these techniques are valuable to speed up code writing, they are limited to recommendations related to the next few tokens a developer is likely to type given the current context. In the best case, they can recommend a few APIs that a developer is likely to use next. We present FeaRS, a novel retrieval-based approach that, given the current code a developer is writing in the IDE, can recommend the next complete method (i.e., signature and method body) that the developer is likely to implement. To do this, FeaRS exploits "implementation patterns" (i.e., groups of methods usually implemented within the same task) learned by mining thousands of open source projects. We instantiated our approach to the specific context of Android apps. A large-scale empirical evaluation we performed across more than 20k apps shows encouraging preliminary results, but also highlights future challenges to overcome.

READ FULL TEXT

page 2

page 4

page 7

page 8

page 9

research
05/07/2021

What do all these Buttons do? Statically Mining Android User Interfaces at Scale

We introduce FRONTMATTER: a tool to automatically mine both user interfa...
research
08/09/2020

Function completion in the time of massive data: A code embedding perspective

Code completion is an important feature of integrated development enviro...
research
09/15/2022

AutoUpdate: Automatically Recommend Code Updates for Android Apps

Android developers frequently update source code to improve the performa...
research
03/12/2021

An Empirical Study on the Usage of BERT Models for Code Completion

Code completion is one of the main features of modern Integrated Develop...
research
08/03/2021

An Empirical Study on the Usage of Transformer Models for Code Completion

Code completion aims at speeding up code writing by predicting the next ...
research
08/19/2019

Recommendation of Exception Handling Code in Mobile App Development

In modern programming languages, exception handling is an effective mech...
research
09/06/2019

Self Learning from Large Scale Code Corpus to Infer Structure of Method Invocations

Automatically generating code from a textual description of method invoc...

Please sign up or login with your details

Forgot password? Click here to reset