The increased availability of massive codebases (“Big Code”) creates an exciting opportunity for new kinds of programming tools based on probabilistic models. Enabled by these models, tomorrow’s tools will provide probabilistically likely solutions to programming tasks that are difficult or impossible to solve with traditional techniques. I will present a new approach for building such tools based on structured prediction with graphical models, and in particular, conditional random fields. These are powerful machine learning techniques popular in computer vision – by connecting these techniques to programs, our work enables new applications not previously possible. As an example, I will discuss JSNice (http://jsnice.org), a system that automatically de-minifies JavaScript programs by predicting statistically likely variable names and types. Since its release few months ago, JSNice has become a popular tool in the JavaScript community and is regularly used by thousands of developers worldwide.
I am originally from Sofia, Bulgaria where I was born and grew up. I am an Assistant Professor of Computer Science at ETH Zurich where I lead the Software Reliability Lab. Prior to ETH, I was a Research Staff Member at the IBM T.J. Watson Research Center in New York. I obtained my PhD from Cambridge University, England and my B.Sc. from Simon Fraser University. Before Canada, I studied at the Sofia Math High School in Sofia, Bulgaria. I am interested in program analysis, program synthesis, application of machine learning to programming languages, and concurrency.
Tue 7 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:15 - 11:00 | |||
10:15 45mTalk | Machine Learning for Programming ML4PL Martin Vechev ETH Zurich |