Beyond Neural Networks for Programming: How to Learn from Programs
As the size of open source code has grown dramatically, so has the number of machine learning tools that propose to solve software engineering tasks by learning from these codebases. Yet, it has turned out that producing tools which actually work in the real world is harder than expected with even the latest neural network techniques failing to provide reasonable solutions.
We propose a method to address this problem via two main ideas: (i) we leverage static analysis techniques to extract semantic representations of programs and build our models over the program semantics and not directly over their syntax, (ii) importantly, we ensure the results of the probabilistic model are limited to explainable and semantically interesting predictions.
We will illustrate these concepts in action by demonstrating several production-quality software systems (e.g., state-of-the-art taint-based security bug-finding tool) running at DeepCode.
Mon 21 Oct
|09:00 - 09:45|
Veselin RaychevDeepCode AG
|09:45 - 10:30|
Lubomír BulejCharles University