Blogs (9) >>
SPLASH 2016
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Thu 3 Nov 2016 16:05 - 16:30 at Matterhorn 1 - Program Modeling and Learning Chair(s): Ondřej Lhoták

In this paper we introduce a new approach for learning precise and general probabilistic models of code based on decision tree learning. Our approach directly benefits an emerging class of statistical programming tools which leverage probabilistic models of code learned over large codebases (e.g., GitHub) to make predictions about new programs (e.g., code completion, repair, etc).

The key idea is to phrase the problem of learning a probabilistic model of code as learning a decision tree in a domain specific language over abstract syntax trees (called TGen). This allows us to condition the prediction of a program element on a dynamically computed context. Further, our problem formulation enables us to easily instantiate known decision tree learning algorithms such as ID3, but also to obtain new variants we refer to as ID3+ and E13, not previously explored and ones that outperform ID3 in prediction accuracy.

Our approach is general and can be used to learn a probabilistic model of any programming language. We implemented our approach in a system called Deep3 and evaluated it for the challenging task of learning probabilistic models of JavaScript and Python. Our experimental results indicate that Deep3 predicts elements of JavaScript and Python code with precision above 82% and 69%, respectively. Further, Deep3 often significantly outperforms state-of-the-art approaches in overall prediction accuracy.

Thu 3 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:40 - 17:20
Program Modeling and LearningOOPSLA at Matterhorn 1
Chair(s): Ondřej Lhoták University of Waterloo
15:40
25m
Talk
Computing Repair Alternatives for Malformed Programs using Constraint Attribute GrammarsAEC
OOPSLA
Friedrich Steimann Fernuniversität, Jörg Hagemann Fernuniversität in Hagen, Bastian Ulke Fernuniversität in Hagen
DOI Media Attached
16:05
25m
Talk
Probabilistic Model for Code with Decision Trees
OOPSLA
Veselin Raychev ETH Zurich, Switzerland, Pavol Bielik , Martin Vechev ETH Zurich
DOI
16:30
25m
Talk
Ringer: Web Automation by DemonstrationAEC
OOPSLA
Shaon Barman UC Berkeley, Sarah E. Chasins University of California, Berkeley, Rastislav Bodik University of Washington, USA, Sumit Gulwani Microsoft Research
DOI Media Attached
16:55
25m
Talk
Scalable Verification of Border Gateway Protocol Configurations with an SMT SolverAEC
OOPSLA
Konstantin Weitz University of Washington, Doug Woos University of Washington, Emina Torlak University of Washington, Michael D. Ernst University of Washington, Arvind Krishnamurthy University of Washington, Zachary Tatlock University of Washington, Seattle
DOI Media Attached