Like by Hand: Layout and Interactivity for Understanding Program Control Flow

Talk
Katherine Isaacs
Talk Series: 
Time: 
02.15.2022 11:00 to 12:00

Visualization can be a powerful tool in computer systems research, aiding computer scientists in verifying, debugging, or ideating new computational methods. However, the data collected in this context is often vast and complex, with emphasis on data connections. These characteristics limit the utility of out-of-the-box visualization solutions. This is critically true of control flow graphs (CFGs), which are networks representing possible paths of a given program’s execution. CFGs are central to both manual and automated program analysis with applications in computer security, compilation, and optimization. General graph drawing approaches can limit the utility of CFG visualization, producing drawings that are difficult to interpret when applied beyond toy programs. We develop a layout approach that preserves and emphasizes computing-specific structures such as loops and functions in a manner similar to hand-drawn versions. We present interactive visualization systems with CFGs in two different research scenarios, designed through immersive collaboration with active research teams. Finally, from these experiences and a review of in-the-wild representations, we develop a library for filtering and drawing CFGs to support future visual analysis scenarios.