University of Cambridge > Talks.cam > Microsoft Research Cambridge, public talks > Information Retrieval based Program Synthesis

Information Retrieval based Program Synthesis

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.

Program Synthesis is a long-term dream in computer science. Traditional approaches often rely on full-functional formal specification and are limited to generate code containing a small predefined set of operations. In this talk, I will present an information retrieval based, fully automated approach to generate code in VisualStudio from a possibly very partial specification given in natural language. The key idea is first applying machine learning on top of the Bing search engine and then using program generalization to derive the best solution in user’s current programming context.

For example, in VisualStudio, a C# programmer can type in a specification such as “How to generate MD5 hash?” in a comment and use the automated-programming-aware Intellisense to get the following code:

///How to generate MD5 hash?

string input; MD5 CryptoServiceProvider md5 = new MD5 CryptoServiceProvider(); byte[] hash = md5.ComputeHash(Encoding.UTF8.GetBytes(input)); StringBuilder sb = new StringBuilder();

for (int i = 0; i hash.Length; i++) { sb.Append(hash[i].ToString(“X2”)); }

// Use sb.ToString();

In the talk, I will discuss the design of such a system, the progress and results so far, the limitations and the many problems yet to solve.

This talk is part of the Microsoft Research Cambridge, public talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2019 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity