Overlaying Control Flow Graphs on P4 Syntax Trees with Gremlin
Our overall research aim is to statically derive execution cost and other metrics from program code written in the P4 programming language. For this purpose, we extract a detailed control flow graph (CFG) from the code, that can be turned into a full, formal model of execution, to extract properties...
Saved in:
Published in | Acta cybernetica (Szeged) Vol. 26; no. 3; pp. 593 - 619 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
Szeged
Laszlo Nyul
01.07.2024
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Our overall research aim is to statically derive execution cost and other metrics from program code written in the P4 programming language. For this purpose, we extract a detailed control flow graph (CFG) from the code, that can be turned into a full, formal model of execution, to extract properties -- such as execution cost -- from the model. While CFG extraction and analysis is well researched area, details are dependent on code representation and therefore application of textbook algorithms (often defined over unstructured code listings) to real programming languages is often non-trivial. Our aim is to present an algorithm for CFG extraction over P4 abstract syntax trees (AST). During the extraction we create direct links between nodes of the CFG and the P4 AST: this way we can access all information in the P4 AST during CFG traversal. We are utilizing Gremlin, a graph query language to take advantage of graph databases, but also for compactness and to formally prove algorithm correctness. |
---|---|
ISSN: | 0324-721X 2676-993X |
DOI: | 10.14232/actacyb.298770 |