论文标题

软件语言理解使用程序衍生的语义图

Software Language Comprehension using a Program-Derived Semantics Graph

论文作者

Iyer, Roshni G., Sun, Yizhou, Wang, Wei, Gottschlich, Justin

论文摘要

传统的代码转换结构,例如抽象语法树(ASTS),上下文流程图(XFGS)以及更一般的编译器中间表示(IRS),可能在从代码中提取高级语义方面有限制。尽管已经开始进行高阶语义提升(例如,Aroma的简化解析树(SPT),已验证的Lifting的Lambda Claculi和Halide的故意域特异性语言(DSL)),但该领域的研究仍然不成熟。为了继续推进这项研究,我们介绍了程序衍生的语义图,这是一种捕获代码语义的新图形结构。 PSG旨在提供单个结构,用于在多个抽象级别上捕获程序语义。 PSG可能是在一系列新兴的结构表示中,这些表示无法从传统的预定义规则中构建,而必须学习。在本文中,我们描述了PSG及其基本结构差异与最先进的结构相比。尽管我们对PSG的探索仍处于起步阶段,但我们的早期结果和建筑分析表明,这是自动提取程序语义的新研究方向。

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. The PSG may be in a class of emerging structural representations that cannot be built from a traditional set of predefined rules and instead must be learned. In this paper, we describe the PSG and its fundamental structural differences compared to state-of-the-art structures. Although our exploration into the PSG is in its infancy, our early results and architectural analysis indicate it is a promising new research direction to automatically extract program semantics.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源