2020

Software Language Comprehension using a Program-Derived Semantics Graph

Iyer, Roshni G., Sun, Yizhou, Wang, Wei et al.

Understand

Traditional code transformation structures, such as abstract syntax trees (ASTs), conteXtual flow graphs (XFGs), and more generally, compiler intermediate representations (IRs), may have limitations in extracting higher-order semantics from code.

  • While work has already begun on higher-order semantics lifting (e.g., Aroma's simplified parse tree (SPT), verified lifting's lambda calculi, and Halide's intentional domain specific language (DSL)), research in this area is still immature.
  • To continue to advance this research, we present the program-derived semantics graph, a new graphical structure to capture semantics of code.
  • The PSG is designed to provide a single structure for capturing program semantics at multiple levels of abstraction.

Built on

  • Python 3 Reference Manual

    Guido Van Rossum and Fred L. Drake · 2009

    Earlier work this paper cites.

  • Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines

    Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, and Saman P. Amarasinghe · 2013

    Earlier work this paper cites.

  • Khronos SYCL for OpenCL: a tutorial

    Ronan Keryell, Ruyman Reyes, and Lee Howes · 2015

    Earlier work this paper cites.

  • Cardinality of relations with applications

    Rudolf Berghammer, Nikita Danilenko, Peter Höfner, and Insa Stucke · 2016

    Earlier work this paper cites.

  • Verified Lifting of Stencil Computations

    Shoaib Kamil, Alvin Cheung, Shachar Itzhaky, and Armando Solar-Lezama · 2016

    Earlier work this paper cites.

Similar

  • A Systematic Mapping Study of Software Development With GitHub

    Valerio Cosentino, Javier L. Cánovas Izquierdo, and Jordi Cabot · 2017

    Cited alongside, same era.

  • Semi-supervised Classification with Graph Convolutional Networks

    Thomas N. Kipf and Max Welling · 2017

    Cited alongside, same era.

  • Neural Code Comprehension: A Learnable Representation of Code Semantics

    Tal Ben-Nun, Alice Shoshana Jakobovits, and Torsten Hoefler · 2018

    Cited alongside, same era.

  • The Three Pillars of Machine Programming

    Justin Gottschlich, Armando Solar-Lezama, Nesime Tatbul, Michael Carbin, Martin Rinard, Regina Barzilay, Saman Amarasinghe, Joshua B. Tenenbaum, and Tim Mattson · 2018

    Cited alongside, same era.

Then

  • Multi-Level IR Compiler Framework

    Google · 2019

    Later among the works it cites.

  • Aroma: Code Recommendation via Structural Code Search

    Sifei Luan, Di Yang, Celeste Barnaby, Koushik Sen, and Satish Chandra · 2019

    Later among the works it cites.

  • Modeling Relational Data with Graph Convolutional Networks

    Michael Schlichtkrull, Thomas N. Kipf, Peter Bloem, Rianne van den Berg, Ivan Titov, and Max Welling · 2019

    Later among the works it cites.

  • MISIM: An End-to-End Neural Code Similarity System, 2020

    Fangke Ye, Shengtian Zhou, Anand Venkat, Ryan Marcus, Nesime Tatbul, Jesmin Jahan Tithi, Paul Petersen, Timothy Mattson, Tim Kraska, Pradeep Dubey, Vivek Sarkar, and Justin Gottschlich · 2020

    Closest in time.

Beyond the bibliography

alphaXiv searches the wider corpus for related work and actual follow-ups.

Open on alphaXiv

alphaXiv is searching for related work…