Abstract: Today, software is so intertwined with our lives. Software keeps planes flying, cars driving and money flowing! No wonder the demand for software engineers is increasing. The number of professional software engineers is projected to grow to nearly 30 million within the next few years. While machine learning has now become a common tool in the arsenal of software engineers, can machine learning be leveraged to assist software engineers and in turn, to improve quality of software?
In this talk, I will present some advances that the research community and industry have made in the recent past in developing machine learning techniques to automate software engineering. Along the way, I will relate machine-learning techniques to traditional program analysis techniques. I will discuss representative deep learning methods to analyze and synthesize source code. While much progress is being made, we will see what challenges remain.
Bio: Aditya Kanade is an Associate Professor at the Department of Computer Science and Automation of the Indian Institute of Science. He completed his PhD at IIT Bombay and post-doc at the University of Pennsylvania. His research interests span machine learning, software engineering and automated reasoning. He has received an ACM best paper award, a teaching excellence award, and faculty awards from IBM, Microsoft Research India and the Mozilla Foundation. He has been a Visiting Researcher at General Motors Research, Microsoft Research and most recently, at Google Brain. He is particularly excited about the prospect of developing machine learning techniques to automate software engineering, and designing trustworthy and deployable machine learning systems.