BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Information Retrieval based Program Synthesis - T-yiwei Yi (Jason)
  Wei\, ETH Zurich
DTSTART:20111101T100000Z
DTEND:20111101T110000Z
UID:TALK34424@talks.cam.ac.uk
CONTACT:Microsoft Research Cambridge Talks Admins
DESCRIPTION:Program Synthesis is a long-term dream in computer science. Tr
 aditional approaches often rely on full-functional formal specification an
 d are limited to generate code containing a small predefined set of operat
 ions. 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 app
 lying machine learning on top of the Bing search engine and then using pro
 gram generalization to derive the best solution in user's current programm
 ing context.  \n\nFor example\, in VisualStudio\, a C# programmer can type
  in a specification such as "How to generate MD5 hash?" in a comment and u
 se the automated-programming-aware Intellisense to get the following code:
  \n\n///How to generate MD5 hash? \n\nstring input\; \nMD5CryptoServicePro
 vider md5 = new MD5CryptoServiceProvider()\;   \nbyte[] hash = md5.Compute
 Hash(Encoding.UTF8.GetBytes(input))\; \nStringBuilder sb = new StringBuild
 er()\;  \n\nfor (int i = 0\; i  hash.Length\; i++) {\n      sb.Append(hash
 [i].ToString("X2"))\;       \n} \n\n// Use sb.ToString()\; \n\nIn the talk
 \, I will discuss the design of such a system\, the progress and results s
 o far\, the limitations and the many problems yet to solve.
LOCATION:Small lecture theatre\, Microsoft Research Ltd\, 7 J J Thomson Av
 enue (Off Madingley Road)\, Cambridge
END:VEVENT
END:VCALENDAR
