Author
Devkota, SabinIssue Date
2021Keywords
Control Flow GraphsData Visualization
Design Study
Graph Drawing
Program Analysis
Visual Analytics System
Advisor
Isaacs, Katherine
Metadata
Show full item recordPublisher
The University of Arizona.Rights
Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction, presentation (such as public display or performance) of protected items is prohibited except with permission of the author.Abstract
Control Flow Graphs (CFGs) are directed graphs that represent all possible paths a computer program can take during its execution. They are used to analyze computer programs for purposes such as compilation, performance, and security. Experts in these areas visualize the contents of CFGs alongside other artifacts generated during the program analysis to develop and debug new algorithms, verify hypotheses, and understand program optimizations. Control Flow Graphs are commonly visualized as node-link diagrams using hierarchical layouts. However, the general nature of such layouts does not capture CFG-specific structures, making it more difficult to match the drawing to the domain. In addition, the tasks performed by experts involve disparate artifacts and are non-trivial because of the complexity and specificity of the operations involved. To better support the creation of domain-aware CFG drawings and visual analytics systems that are suited to analysis tasks, we begin by identifying the CFG drawing conventions and visualization needs of experts through surveys, interviews, and collaboration with experts in various CFG-related areas. We then develop a novel graph layout technique to generate domain-aware drawings of CFGs that preserve the program structures in the drawings to match the mental model of experts. Following this, we synthesize design guidelines to integrate the domain-aware visualizations into visual analytics systems with program-aware interactions, navigation, and filtering to support more area-specific tasks. Since creating domain-specific drawings often requires the help of a graph drawing expert despite the computing expertise of the target audience, we then design a flexible set of representations based on the drawing requirements and develop CFGConf. CFGConf is a high-level CFG drawing library that provides a concise interface for specifying drawing requirements to create domain-specific drawings that support common CFG-related tasks. We conclude by discussing future directions and open challenges to creating domain-aware visualizations and transferring them to related domains.Type
textElectronic Dissertation
Degree Name
Ph.D.Degree Level
doctoralDegree Program
Graduate CollegeComputer Science