  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.
