CFGConf: Supporting high level requirements for visualizing Control Flow Graphs

by   Sabin Devkota, et al.

Control Flow Graphs (CFGs) are directed graphs that represent all possible walks a program can take during its execution. CFGs are used to analyze computer programs for purposes such as compilation, performance, and security. They are commonly drawn using hierarchical layouts. However, the general nature of such layouts may not capture CFG-specific structures, making it more difficult to match the drawing to the domain. Domain-specific drawings often require the help of a graph drawing expert, despite the computing expertise of the target audience. To alleviate these issues, we conduct a survey of drawing conventions and needs for CFGs. We then, through an iterative design process, design a flexible set of representations based on these findings and develop CFGConf, a JSON specification for specifying and drawing these higher-level drawing requirements, thereby allowing users to generate and integrate their own CFG-aware graph drawings. The CFGConf language enables the creation of domain-aware graph drawings of CFGs by increasing the notational efficiency of specifying the requirements while also retaining the expressiveness found in commonly used systems such as dot/graphviz. We evaluate CFGConf in terms of notational efficiency, expressiveness, and accessibility through user study and illustrative examples.


Experiments and a User Study for Hierarchical Drawings of Graphs

We present experimental results and a user study for hierarchical drawin...

Algorithms and Bounds for Drawing Directed Graphs

In this paper we present a new approach to visualize directed graphs and...

A Survey on Graph Drawing Beyond Planarity

Graph Drawing Beyond Planarity is a rapidly growing research area that c...

Evaluating Animation Parameters for Morphing Edge Drawings

Partial edge drawings (PED) of graphs avoid edge crossings by subdividin...

Small Point-Sets Supporting Graph Stories

In a graph story the vertices enter a graph one at a time and each verte...

An Infinite Parade of Giraffes: Expressive Augmentation and Complexity Layers for Cartoon Drawing

In this paper, we explore creative image generation constrained by small...

Ask and You Shall Receive (a Graph Drawing): Testing ChatGPT's Potential to Apply Graph Layout Algorithms

Large language models (LLMs) have recently taken the world by storm. The...

Please sign up or login with your details

Forgot password? Click here to reset