Write a Blog >>
PLDI 2020
Mon 15 - Fri 19 June 2020

We present a new approach to semantic code search based on equational reasoning, and the \textsc{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, \textsc{Yogo} can find equivalent code in multiple languages. Our evaluation further shows the utility of \textsc{Yogo} beyond code search: encoding a buggy pattern as a \textsc{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. \textsc{Yogo} is built on the \textsc{Cubix} multi-language infrastructure, and currently supports Java and Python.

Fri 19 Jun
Times are displayed in time zone: Pacific Time (US & Canada) change

06:20 - 07:40: Parsing, Debugging, and Code SearchPLDI Research Papers at PLDI Research Papers live stream
Chair(s): Dan BarowyWilliams College

YouTube lightning session video

06:20 - 06:40
Talk
Faster General Parsing through Context-Free Memoization
PLDI Research Papers
Grzegorz HermanJagiellonian University, Poland
06:40 - 07:00
Talk
Zippy LL(1) Parsing with Derivatives
PLDI Research Papers
Romain EdelmannEPFL, Switzerland, Jad HamzaEPFL, Switzerland, Viktor KunĨakEPFL, Switzerland
07:00 - 07:20
Talk
Debug Information Validation for Optimized Code
PLDI Research Papers
Yuanbo LiGeorgia Institute of Technology, USA, Shuo DingGeorgia Institute of Technology, USA, Qirun ZhangGeorgia Institute of Technology, USA, Davide ItalianoApple, USA
07:20 - 07:40
Talk
Semantic Code Search via Equational Reasoning
PLDI Research Papers
Varot PremtoonMassachusetts Institute of Technology, USA, James KoppelMassachusetts Institute of Technology, USA, Armando Solar-LezamaMassachusetts Institute of Technology, USA