LOPSTR 2016 Invited Talk
Learning from Programs: Probabilistic Models, Program Analysis and Synthesis
Abstract. The increased availability of massive codebases (e.g.,
GitHub) creates an exciting opportunity for new kinds of programming
tools based on probabilistic models. Enabled by these models,
tomorrow's tools will provide statistically likely solutions to
programming tasks difficult or impossible to solve with traditional
techniques. An example is our JSNice statistical program
de-minification system (http://jsnice.org), now used by more than
150,000 users in every country worldwide.
In this talk, I will discuss some of the latest developments in this
new inter-disciplinary research direction: the theoretical foundations
used to build probabilistic programming systems, the practical
challenges such systems must address, and the conceptual connections
between the areas of statistical learning, static analysis and program
synthesis.