<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi All,</p>
    <p>Martin would like you to meet with Mukund today,  please let me
      know what time is good for you, his talk is at 3 please plan on <br>
    </p>
    <p>attending.</p>
    <p><br>
    </p>
    <p>Mary<br>
    </p>
    <div class="moz-forward-container"><br>
      <br>
      -------- Forwarded Message --------
      <table class="moz-email-headers-table" border="0" cellpadding="0"
        cellspacing="0">
        <tbody>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject:
            </th>
            <td>TALK: Tuesday 04-26-2016 Code Search and Idiomatic
              Snippet Synthesis</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date: </th>
            <td>Tue, 26 Apr 2016 00:01:17 -0400</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">From: </th>
            <td><a class="moz-txt-link-abbreviated" href="mailto:calendar@csail.mit.edu">calendar@csail.mit.edu</a></td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
            <td><a class="moz-txt-link-abbreviated" href="mailto:seminars@csail.mit.edu">seminars@csail.mit.edu</a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <pre>Code Search and Idiomatic Snippet Synthesis

Speaker: Mukund Raghothaman
Speaker Affiliation: University of Pennsylvania
Host: Martin Rinard
Host Affiliation: MIT-CSAIL
 
Date: Tuesday, April 26, 2016
Time:  3:00 PM to 4:00 PM
Refreshments Time: 2:45 PM
Location: 32-D463 Star

In recent years, the program analysis and  synthesis communities are realizing the value of large open-source code repositories such as GitHub and BitBucket. 

These repositories can transform the field: from providing better real-world benchmarks for existing algorithms, to facilitating entirely new techniques for code completion and anomaly detection.

In this talk, we will consider the problem of API exploration. Modern programming frameworks come with large libraries, with diverse applications
such as for matching regular expressions, parsing XML files and sending email. Programmers often use search engines such as Google and Bing to learn about existing APIs. I will describe SWIM (Synthesize What I Mean), a tool which
suggests code snippets given API-related natural language queries such as ``generate md5 hash code''. The query does not need to contain
framework-specific trivia such as the type names or methods of interest.

I will address three specific problems: inferring ``idioms'' from large code repositories, natural language processing to understand the input queries, and the architecture of the SWIM synthesizer which allows fast response times
and easy collaboration between the NLP and programming language researchers.

We evaluated SWIM with 30 common C# API-related queries received by Bing. For 70% of the queries, the first suggested snippet was a relevant solution, and a relevant solution was present in the top 10 results for all benchmarked queries.
The online portion of the workflow is also very responsive, at an average of 1.5 seconds per snippet.

This is joint work with Yi Wei and Youssef Hamadi during a summer internship at Microsoft Research Cambridge.

Bio: Mukund Raghothaman is a Ph.D. student at the University of Pennsylvania, and is advised by Rajeev Alur.

His research goal is to make programming easier by building new programming abstractions and assistance tools. In his thesis, he designs DReX, a domain-specific language to describe stream transformations. He is now studying extensions to quantitative functions, approximate query evaluation, and applications to the static analysis of string manipulating programs.

More broadly, he is interested in formal verification and program synthesis. Program synthesis is the problem of converting human intentions into concrete programs. The input is often vague and exploratory: he spent two summers
working with Youssef Hamadi and Yi Wei on the synthesis of idiomatic code snippets for the Bing Code Search Tool at Microsoft Research Cambridge. He was also part of the team that formalized SyGuS.


Relevant URL: 
For more information please contact: Mary McDavitt, 617-253-9620, <a href=<a class="moz-txt-link-rfc2396E" href="mailto:mmcdavit@csail.mit.edu">"mailto:mmcdavit@csail.mit.edu"</a>><a class="moz-txt-link-abbreviated" href="mailto:mmcdavit@csail.mit.edu">mmcdavit@csail.mit.edu</a></a>


</pre>
    </div>
  </body>
</html>