filmov
tv
Teaching a Machine to Code

Показать описание
Speaker: Neel Sundaresan, Partner Director, Microsoft
There has been extensive work in machine learning in speech, vision, text, and machine translation. One new area that is gaining a lot of interest is program synthesis. With the availability of vast amount of open source code in a wide variety of languages from sources like github and also associated textual information from platforms like stackoverflow, the field is ripe for using the latest advances in machine learning techniques for automation in software engineering in general and program synthesis in particular. While programs are highly structured as they obey the syntactic and semantic structures imposed by the compilers the intent behind the code is only human decipherable. By using associated comments, and PR reviews along with the signatures from code structures machine learning techniques can be applied to implement code completion and also assist in other software development processes like automated testing, risk analysis, and review processes. We will discuss how we have used machine learning and, in some cases, deep learning methods to assist in this automation. More specifically I will talk about deep learning techniques for understanding programs beyond semantics for identifying intent and idioms and match them with comments so as to automate and create assistive tools to the software developer during editing, building, PR, CI/CD workflows of software deployment. Mundane tasks during software development can be automated while more complex tasks can be alleviated with assistive AI solutions. We will walk through examples, experiences on what worked and what didn’t work in deploying such models to production.
There has been extensive work in machine learning in speech, vision, text, and machine translation. One new area that is gaining a lot of interest is program synthesis. With the availability of vast amount of open source code in a wide variety of languages from sources like github and also associated textual information from platforms like stackoverflow, the field is ripe for using the latest advances in machine learning techniques for automation in software engineering in general and program synthesis in particular. While programs are highly structured as they obey the syntactic and semantic structures imposed by the compilers the intent behind the code is only human decipherable. By using associated comments, and PR reviews along with the signatures from code structures machine learning techniques can be applied to implement code completion and also assist in other software development processes like automated testing, risk analysis, and review processes. We will discuss how we have used machine learning and, in some cases, deep learning methods to assist in this automation. More specifically I will talk about deep learning techniques for understanding programs beyond semantics for identifying intent and idioms and match them with comments so as to automate and create assistive tools to the software developer during editing, building, PR, CI/CD workflows of software deployment. Mundane tasks during software development can be automated while more complex tasks can be alleviated with assistive AI solutions. We will walk through examples, experiences on what worked and what didn’t work in deploying such models to production.
Комментарии