Neural Software Engineering: Learning Developer Tools from Code
Event date:  January 13, 2020 4:00 PM  to 5:00 PM


Effective tools can make software developers much more productive, but manually developing such tools is difficult and time-consuming. This talk advocates a learning approach toward creating developer tools. The basic idea is to consider the enormous amounts of existing code as training data and to learn models that predict properties of code. The talk will present two examples of learned developer tools. First, we present a learned bug detection technique, which predicts whether a piece of code is correct or buggy. Second, we present a learned type prediction technique, which predicts otherwise missing type annotations for code written in dynamically typed languages. Both techniques make use of natural language information embedded in identifier names, a rich source of knowledge ignored by traditional program analysis techniques. Evaluating the ideas on millions of lines of JavaScript code shows that automatically learned developer tools can be highly effective and even outperform traditionally developed techniques.



Michael Pradel is a full professor at University of Stuttgart, which he joined after a PhD at ETH Zurich, a post-doc at UC Berkeley, an assistant professorship at TU Darmstadt, and a sabbatical at Facebook. His research interests span software engineering, programming languages, security, and machine learning, with a focus on tools and techniques for building reliable, efficient, and secure software. In particular, he is interested in dynamic program analysis, test generation, concurrency, performance profiling, JavaScript-based web applications, and machine learning-based program analysis. Michael has been awarded the Software Engineering Award of the Ernst-Denert-Foundation for his dissertation, the Emmy Noether grant by the German Research Foundation (DFG), and an ERC Starting Grant.





University of Stuttgart, Powerwall Room, VISUS, cellar

The talk will be transmitted to Konstanz, Powerwall Room C202. 


RTSP Stream: