Software Language Comprehension using a Program-Derived Semantics Graph
Roshni G. Iyer, Yizhou Sun, Wei Wang, Justin Gottschlich

TL;DR
This paper introduces the program-derived semantics graph (PSG), a novel graphical structure designed to capture higher-order semantics of code across multiple abstraction levels, aiming to improve understanding beyond traditional representations.
Contribution
The paper presents the PSG as a new structural representation that differs from traditional IRs and can be learned rather than predefined, advancing higher-order semantics extraction.
Findings
Early results show PSG's potential in capturing program semantics.
Architectural analysis indicates PSG's promise for future research.
PSG offers a unified structure for multiple levels of code abstraction.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Advanced Software Engineering Methodologies
