Significant amounts of data gets generated throughout the software development cycle: code, code changes, tests, telemetry, issues, issue resolutions, and so on. In the past several years, researchers from programming languages and software engineering communities have shown impressive progress in software tools by applying machine learning to this data. These include tools for code completion, bug finding and fixing, code search and recommendation, de-obfuscation, test prioritization, and many more.
In this talk, I will give a broad overview of this exciting area. I will then give a deeper look into some of the ML-based software tools my colleagues and I have built in an industrial context. No prior expertise in machine learning will be assumed.
Satish Chandra obtained a PhD from the University of Wisconsin-Madison in 1997, and a B.Tech from the Indian Institute of Technology-Kanpur in 1991, both in computer science. From 1997 to 2002, he was a member of technical staff at Bell Laboratories, where his research focused on program analysis, domain-specific languages, and data-communication protocols. From 2002 to 2013, he was a research staff member at IBM Research, where his research focused on bug finding and verification, software synthesis, and test automation. His work on bug finding shipped in IBM’s Java static analysis product, and his work on test automation was adopted in IBM’s testing services offering. From 2013 to 2016, he worked at Samsung Research America, where he led the advanced programming tools research team. His work on memory profiling of web apps was included in Samsung’s Tizen IDE. In 2016, he started working at Facebook. He is an ACM Distinguished Scientist.
Tue 13 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
02:00 - 03:30
|Machine Learning for Developer Productivity|
S: Satish Chandra Facebook