The main objective of my visit to the ECOOP/ISSTA/CurryOn event is the organization of 2nd International Workshop on Machine Learning techniques for Programming Languages (ML4PL). The workshop consisted of one invited talk and 6 regular talks. Below I summarize the findings I found most interesting.
Cristina Cifuentes gave a talk “Buffer Overflow Detection for C Programs is Hard to Learn” based on her (and coauthors) attempt to train several algorithms to detect buffer overflows. Overall, the experiment shows that pure syntactical models of code fail to detect possible overflows. Instead, as suggested by several reviewers of submission, it is likely required to use recent information flow-sensitive models (arXiv:1711.00740, arXiv:1803.09473).
Timofey Bryksin from “Machine Learning Methods in Software Engineering” lab in JetBrain Research presented an investigation of code anomalies in a large corpus of Kotlin code. The aim of the research is to find a code patterns that, first, are unusual (outstand by some syntactic metric) and, second, are not handled by the Kotlin compiler very well. This research applies several basic known anomaly detection approaches to the new field — detection of unusual source code patterns.
Overall, I think the workshop was successful, and I hope to see it at ECOOP next year!