The objective of the seminar is to:

  • Introduce students to the emerging field of Deep Learning for Big Code.
  • Learn how machine learning models can be used to solve practical challenges in software engineering and programming beyond traditional methods.
  • Highlight the latest research and work opportunities in industry and academia available on this topic.

The seminar is carried out as a set of presentations (2 each lecture) chosen from a set of available papers (available below). The grade is determined as a function of the presentation, handling questions and answers, and participation:


Sep 23 Introduction to the seminar (topics, objectives, structure): Dr. Veselin Raychev PDF
7.10 No class No class
14.10 When Deep Learning Met Code Search Siméone de Fremond Marc Fischer
code2seq: Generating Sequences from Structured Representations of Code Peter Grönquist Timon Gehr
21.10 No class No class
28.10 Commit Message Generation for Source Code Changes Sandro Luck Matthew Mirman
NL2Type: Inferring JavaScript Function Types from Natural Language Information Carlos Gomes Pavol Bielik
4.11 Mining Version Histories to Guide Software Changes Gabriela E. López Magaña Mislav Balunović
Getafix: Learning to Fix Bugs Automatically Lukas Ernst Matthew Mirman
11.11 Statistical Reconstruction of Class Hierarchies in Binaries Laurin Paech Pavol Bielik
Neural Program Synthesis from Diverse Demonstration Videos Raphaël Dang-Nhu Veselin Raychev
18.11 DeepBugs: A Learning Approach to Name-based Bug Detection Tobias Lorenz Matthew Mirman
An Encoder-Decoder Framework Translating Natural Language to Database Queries Luca Beurer-Kellner Veselin Raychev
25.11 DeepCoder: Learning to Write Programs Andrej Ivanov Timon Gehr
Neural Program Repair by Jointly Learning to Localize and Repair Marko Mihajlovic Mislav Balunović