Show simple item record

dc.contributor.authorPremtoon, Varot
dc.contributor.authorKoppel, James
dc.contributor.authorSolar-Lezama, Armando
dc.date.accessioned2021-11-01T17:25:19Z
dc.date.available2021-11-01T17:25:19Z
dc.date.issued2020-06-06
dc.identifier.urihttps://hdl.handle.net/1721.1/136993
dc.description.abstract© 2020 Owner/Author. We present a new approach to semantic code search based on equational reasoning, and the Yogo tool implementing this approach. Our approach works by considering not only the dataflow graph of a function, but also the dataflow graphs of all equivalent functions reachable via a set of rewrite rules. In doing so, it can recognize an operation even if it uses alternate APIs, is in a different but mathematically-equivalent form, is split apart with temporary variables, or is interleaved with other code. Furthermore, it can recognize when code is an instance of some higher-level concept such as iterating through a file. Because of this, from a single query, Yogo can find equivalent code in multiple languages. Our evaluation further shows the utility of Yogo beyond code search: encoding a buggy pattern as a Yogo query, we found a bug in Oracle's Graal compiler which had been missed by a hand-written static analyzer designed for that exact kind of bug. Yogo is built on the Cubix multi-language infrastructure, and currently supports Java and Python.en_US
dc.language.isoen
dc.publisherACMen_US
dc.relation.isversionof10.1145/3385412.3386001en_US
dc.rightsCreative Commons Attribution 4.0 International licenseen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceACMen_US
dc.titleSemantic code search via equational reasoningen_US
dc.typeArticleen_US
dc.identifier.citationPremtoon, Varot, Koppel, James and Solar-Lezama, Armando. 2020. "Semantic code search via equational reasoning." Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.relation.journalProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)en_US
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2021-08-02T13:57:12Z
dspace.orderedauthorsPremtoon, V; Koppel, J; Solar-Lezama, Aen_US
dspace.date.submission2021-08-02T13:57:13Z
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record