dc.contributor.advisor | Armando Solar-Lezama. | en_US |
dc.contributor.author | Premtoon, Varot. | en_US |
dc.contributor.other | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. | en_US |
dc.date.accessioned | 2019-12-13T18:41:06Z | |
dc.date.available | 2019-12-13T18:41:06Z | |
dc.date.copyright | 2019 | en_US |
dc.date.issued | 2019 | en_US |
dc.identifier.uri | https://hdl.handle.net/1721.1/123209 | |
dc.description | This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. | en_US |
dc.description | Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2019 | en_US |
dc.description | Cataloged from student-submitted PDF version of thesis. | en_US |
dc.description | Includes bibliographical references (pages 74-75). | en_US |
dc.description.abstract | Searching for specified code patterns is a common component in many types of programming tools for any language. Unfortunately, there is no code search approach that produces application-friendly search results and supports multiple languages under the same system. This work presents a program representation for multi-language code search called Yograph, which allows languages to share a common representation for the same computation while retaining language-specific information. To bridge syntactic variations in and across languages, a single Yograph can be augmented to represent many equivalent programs and high-level abstractions using equality rules. We also present Yogo, a code search tool for Java and Python that implements Yograph and outputs search results as detailed pointers to AST nodes. Our evaluation shows that, in both languages, Yogo can search for realistic patterns in realistic programs and find matches that look different or are mixed with unrelated code but ultimately perform the same computation. | en_US |
dc.description.statementofresponsibility | by Varot Premtoon. | en_US |
dc.format.extent | 77 pages | en_US |
dc.language.iso | eng | en_US |
dc.publisher | Massachusetts Institute of Technology | en_US |
dc.rights | MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission. | en_US |
dc.rights.uri | http://dspace.mit.edu/handle/1721.1/7582 | en_US |
dc.subject | Electrical Engineering and Computer Science. | en_US |
dc.title | Multi-language code search | en_US |
dc.type | Thesis | en_US |
dc.description.degree | M. Eng. | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | en_US |
dc.identifier.oclc | 1130060030 | en_US |
dc.description.collection | M.Eng. Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science | en_US |
dspace.imported | 2019-12-13T18:41:05Z | en_US |
mit.thesis.degree | Master | en_US |
mit.thesis.department | EECS | en_US |