Programming with "Big Code": Lessons, Techniques and Applications
OPEN ACCESS
Loading...
Author / Producer
Date
2015
Publication Type
Conference Paper
ETH Bibliography
yes
Citations
Altmetric
OPEN ACCESS
Data
Rights / License
Abstract
Programming tools based on probabilistic models of massive codebases (aka "Big Code") promise to solve important programming tasks that were difficult or practically infeasible to address before. However, building such tools requires solving a number of hard problems at the intersection of programming languages, program analysis and machine learning. In this paper we summarize some of our experiences and insights obtained by developing several such probabilistic systems over the last few years (some of these systems are regularly used by thousands of developers worldwide). We hope these observations can provide a guideline for others attempting to create such systems. We also present a prediction approach we find suitable as a starting point for building probabilistic tools, and discuss a practical framework implementing this approach, called Nice2Predict. We release the Nice2Predict framework publicly - the framework can be immediately used as a basis for developing new probabilistic tools. Finally, we present programming applications that we believe will benefit from probabilistic models and should be investigated further.
Permanent link
Publication status
published
External links
Book title
1st Summit on Advances in Programming Languages (SNAPL 2015)
Volume
32
Pages / Article No.
41 - 50
Publisher
Schloss Dagstuhl – Leibniz-Zentrum für Informatik
Event
1st Summit on Advances in Programming Languages (SNAPL 2015)
Edition / version
Methods
Software
Geographic location
Date collected
Date created
Subject
Probabilistic tools; Probabilistic inference and learning; Program analysis; Open-source software
Organisational unit
03948 - Vechev, Martin / Vechev, Martin
Notes
Funding
Related publications and datasets
Is cited by: