Designing Smart Software Engineering Tools with Machines Learning
Developing software is a costly process: software engineers need to tackle the inherent complexity of software to avoid bugs, reduce development and maintenance costs, and deliver software products on time. Our society's reliance on software makes it imperative to research new tools that help engineers construct more reliable and maintainable software. One new and promising research direction aims to use machine learning to develop smart tools that learn patterns from existing code and transfer this knowledge to new projects by providing smart recommendations to software engineers. In this talk, I will present a brief overview of this area and my research and discuss interesting challenges within this field.
Bio: Miltos Allamanis is a postdoc at Microsoft Research, Cambridge. His research interests concern applying and creating new machine learning and programming language methods to create novel and smart software engineering tools. During his PhD —in the University of Edinburgh, advised by Charles Sutton— he worked on machine learning models of source code and their applications in programming languages and software engineering. He holds an MPhil in Advanced Computer Science from the University of Cambridge, UK and a DipEng in Electrical and Computer Engineering from the Aristotle University of Thessaloniki, Greece.