RSS Meetups are monthly gatherings of LASIGE members with research interests mainly in Software Architecture, Verification, Testing, Programming Languages, Type Systems, Logic, Concurrency, and Formal Methods.
Title: Neural Code Completion
Speaker: Miltos Allamanis (Microsoft Research)
When: Tuesday, June 8, 14h00
Abstract: Code completion is a widely used feature in developer environments and in the last decade, machine learning models have been tested with great results. These models learn to predict the next token that the developer will type but often have prohibitive performance characteristics for practical deployment. In the first part of the talk, I will present a simple and efficient, yet accurate, method for code completion that combines a neural network with static analysis. By carefully designing a neural network, we create a deep learning model that generates completions within 20ms and uses just 50 MB of memory. Beyond standard code completion, recent research has shown promising results for whole-line completion. However, the partial code context (what the developer has typed so far) is often too ambiguous which renders the prediction of entire lines impossible. In the last part of the talk, I will present some recent efforts on completing code sketches, i.e. partial lines of code with holes.
Short bio: I am a principal researcher in Microsoft Research, Cambridge UK working at the intersection of machine learning, programming languages, and software engineering. My research aims to combine the rich structural aspects of programming languages with machine learning to create better tools for developers, while using problems in this area to motivate machine learning research. I obtained my PhD from the University of Edinburgh, UK. More information about me and my publications can be found at https://miltos.allamanis.com.