Published as a conference paper at ICLR 2018 NEURAL SKETCH LEARNING FOR CONDITIONAL PROGRAM GENERATION
We study the problem of generating source code in a strongly typed, Java-like programming language, given a label (for example a set of API calls or types) carrying a small amount of information about the code that is desired. The generated programs are expected to respect a "realistic" relationship between programs and labels, as exemplified by a corpus of labeled programs available during training. Two challenges in such conditional program generation are that the generated programs must satisfy a rich set of syntactic and semantic constraints, and that source code contains many low-level features that impede learning. We address these problems by training a neural generator not on code but on program sketches, or models of program syntax that abstract out names and operations that do not generalize across programs. During generation, we infer a posterior distribution over sketches, then concretize samples from this distribution into type-safe programs using combinatorial techniques. We implement our ideas in a system for generating API-heavy Java code, and show that it can often predict the entire body of a method given just a few API calls or data types that appear in the method.
The authors introduce an algorithm in the subfield of conditional program generation that is able to create programs in a rich java like programming language. In this setting, they propose an algorithm based on sketches- abstractions of programs that capture the structure but discard program specific information that is not generalizable such as variable names. Conditioned on information such as type specification or keywords of a method they generate the method's body from the trained sketches. 
 
Positives:
 
	•	Novel algorithm and addition of rich java like language in subfield of 'conditional program generation' proposed
	•	Very good abstract: It explains high level overview of topic and sets it into context plus gives a sketch of the algorithm and presents the positive results.
	•	Excellently structured and presented paper
 
	•	Motivation given in form of relevant applications and mention that it is relatively unstudied
	•	The hypothesis/ the papers goal is clearly stated. It is introduced with 'We ask' followed by two well formulated lines that make up the hypothesis. It is repeated multiple times throughout the paper. Every mention introduces either a new argument on why this is necessary or sets it in contrast to other learners, clearly stating discrepancies.
	•	Explanations are exceptionally well done: terms that might not be familiar to the reader are explained. This is true for mathematical aspects as well as program generating specific terms. Examples are given where appropriate in a clear and coherent manner
	•	Problem statement well defined mathematically and understandable for a broad audience
	•	Mentioning of failures and limitations demonstrates a realistic  view on the project
	•	Complexity and time analysis provided
	•	Paper written so that it's easy for a reader to implement the methods
	•	Detailed descriptions of all instantiations even parameters and comparison methods
	•	System specified
	•	Validation method specified
	•	Data and repository, as well as cleaning process provided
	•	Every figure and plot is well explained and interpreted
	•	Large successful evaluation section provided
	•	Many different evaluation measures defined to measure different properties of the project
	•	Different observability modes
	•	Evaluation against most compatible methods from other sources 
	•	 Results are in line with hypothesis
	•	Thorough appendix clearing any open questions 
 
It would have been good to have a summary/conclusion/future work section
 
SUMMARY: ACCEPT.  The authors present a very intriguing novel approach that  in a clear and coherent way. The approach is thoroughly explained for a large audience. The task itself is interesting and novel. The large evaluation section that discusses many different properties is a further indication that this approach is not only novel but also very promising. Even though no conclusive section is provided, the paper is not missing any information.