Learning to Represent Programs with Graphs
Event details
Date | 26.01.2018 |
Hour | 14:00 › 15:00 |
Location | |
Category | Conferences - Seminars |
By Miltos Allamanis - Microsoft
Abstract
The abundance of available source code raises the exciting possibility to develop novel machine learning-based software engineering tools that learn from large corpora. These probabilistic source code analyses necessitate interdisciplinary research in machine learning and programming languages. The core challenge rests in developing methods that can probabilistically handle the multifaceted and highly structured aspects of source code.
In the talk, I discuss a graph-based neural network that learns to exploit the rich syntactic and semantic structure of code to detect variable misuse bugs. This model learns distributed representations of programs from a corpus of 2.9 billion lines of code and can correctly reason about the correct variable usage 82% of the times. This model has already detected previously unknown bugs in open-source projects.
Bio
I am a researcher at Microsoft Research in Cambridge, UK. My research concerns application of machine learning and natural language processing to software engineering and programming languages to create smart software engineering tools for developers. In the era of “big code”, code is a form of data that can be manipulated by machine learning methods to provide useful software engineering tools, interfaces and insights. I focus on developer tools with a strong machine learning component, while using problems of this area to motivate machine learning research. Previously, I was a postdoc in Microsoft Research and obtained my PhD in the University of Edinburgh advised by Dr. Charles Sutton.
More information
Practical information
- General public
- Free
Contact
- Host: Laboratory for Automated Reasoning and Analysis, http://lara.epfl.ch