Software Language Comprehension Using a Program-Derived Semantic Graph.

Roshni G. Iyer,Yizhou Sun,Wei Wang,Justin Gottschlich
2020-01-01
Abstract:Traditional code transformation structures, such as abstract syntax trees(ASTs), conteXtual flow graphs (XFGs), and more generally, compilerintermediate representations (IRs), may have limitations in extractinghigher-order semantics from code. While work has already begun on higher-ordersemantics lifting (e.g., Aroma's simplified parse tree (SPT), verifiedlifting's lambda calculi, and Halide's intentional domain specific language(DSL)), research in this area is still immature. To continue to advance thisresearch, we present the program-derived semantics graph, a new graphicalstructure to capture semantics of code. The PSG is designed to provide a singlestructure for capturing program semantics at multiple levels of abstraction.The PSG may be in a class of emerging structural representations that cannot bebuilt from a traditional set of predefined rules and instead must be learned.In this paper, we describe the PSG and its fundamental structural differencescompared to state-of-the-art structures. Although our exploration into the PSGis in its infancy, our early results and architectural analysis indicate it isa promising new research direction to automatically extract program semantics.
What problem does this paper attempt to address?