Computationally-assisted drug discovery, predictions of hurricane trajectories, and simulations of new energy sources are all made possible by underlying software (programs). To construct these programs, software developers must divide each problem into smaller operations and order those operations carefully to compute the correct answer. This ordering can be viewed as a network graph, where each operation points to its next possible operations in order. Furthermore, to make these programs run fast enough to be useful, developers, engineers, and researchers must find new ways to balance those operations with system resources such as storage, processing units, and memory. These resource constraints add more ordering requirements to the graph. Verifying this graph can help avoid bugs. Information inferred from this graph can be used to automatically decrease the time the program requires to run. Thus, people working in computing frequently examine these graphs to generate or validate new ideas about how to write their programs or use computational resources. For example, a programmer may discover a long sequence of operations performed one after another that could be parallelized, thus making the program faster. General approaches for drawing networks have not met the demand of graphs in the computing space, resulting in difficult to interpret, if not unusable, diagrams. The purpose of this project is to develop new graph visualization approaches to better support developers, engineers, and researchers in their work and learners in their understanding of computing and their integration of tools such as graph visualization into their skill sets.
Graphs arising from computing contexts frequently take the form of directed acyclic or near-acyclic graphs (DAG-like graphs). The aim of this project is to develop layout algorithms and design guidelines specifically for this class of computing graphs. Research tasks include surveying graphs generated across computing disciplines to derive a characterization of their structure, their domain-specific sub-structures, and their common drawing conventions. The characterization will guide the development of constraints and objectives for layout of node-link diagrams as well as design guidelines for interactivity and visual encoding in support of domain-specific tasks. The results will be implemented in an open-source library and evaluated for both expressivity of computing structures and computational performance.
Current Results:
Impact:
This material is based upon work supported by the National Science Foundation under Grant No. 1844573.
K. Williams, A. Bigelow, and K. E. Isaacs. Data
Abstraction Elephants: The Initial Diversity of Data Representations and Mental
Models. In Proceedings of the 2023 CHI Conference on Human Factors
in Computing Systems. ACM, 2023.
HTML (ACM) | Data (OSF.io) | Codes Github
S. Devkota, M. LeGendre, A. Kunen, P. Aschwanden, and K. E.
Isaacs. Domain-centered support for layout, tasks, and specification
for control flow graph visualization. Inn Proceedings of the 10th
IEEE Working Conference on Software Visualization (VISSOFT), Oct. 2022.
PDF (Arxiv) | DOI | Supplemental Material | Github
S. Devkota, P. Aschwanden, A. Kunen, M. Legendre, and K. E. Isaacs.
CcNav: Understanding the Compilation of Binary Code. IEEE Transactions
on Visualization and Computer Graphics, Proceedings of VAST '20. January
2021.
PDF (Arxiv)
A. Bigelow, K. Williams, and K. E. Isaacs. Guidelines for Pursuing
and Revealing Data Abstractions. IEEE Transactions on Visualization and
Computer Graphics, Proceedings of InfoVis '20. January 2021.
PDF (Arxiv) |
Survey Data |
Codes (OSF)
S. Devkota, A. R. Reyan, F. De Luca, K. Isaacs, and S. Kobourov.
Stress-Plus-X (SPX) Graph Layout. Proceedings of Graph Drawing 2019.
PDF (ArXiv) | Github
K. Isaacs. Finding Flexibility and Familiarity in Exploratory Performance Analysis. Invited Talk. Data Science at Scale Summer School at Los Alamos National Laboratory, Los Alamos, New Mexico, USA. July 25, 2023.
K. Williams. Data Abstraction Elephants: The Initial Diversity of Data Representations and Mental Models. Paper Presentation. ACM CHI 2023, Hamburg, Germany. April 26, 2023. Youtube link.
K. Isaacs. Domain-Centered Support for Layout, Tasks, and Specification for Control Flow Graph Visualization. Paper Presentation. The tenth IEEE Working Conference on Software Visualization (VISSOFT 2022), Limassol, Cyprus. October 3, 2022.
K. Isaacs. Integrating Visualization (and Visualization Experts) with Performance Analysis. Invited Talk. 2nd Workshop on Performance EngineeRing, Modelling, Analysis, and VisualizatiOn STrategy (PERMAVOST) held in conjunction with HPDC 2022, Minneapolis, Minnesota, USA. June 30, 2022.
K. Isaacs. Like by Hand: Layout and Interactivity for Understanding Program Control Flow. University of Utah, Salt Lake City, Utah, USA. April 7, 2022.
K. Isaacs. Like by Hand: Layout and Interactivity for Understanding Program Control Flow. University of Maryland, College Park, Maryland, USA. February 15, 2022.
K. Isaacs. Like by Hand: Improving Visual Exploration of Control Flow through Computing-Specific Layout and Interactive Visual Analytics Design. CS Colloquium. Missouri University of Science and Technology, Rolla, Missouri, USA. October 4, 2022.
K. Isaacs. Strategies for Visualizing Networks. Invited Talk. Women in Data Science - Tucson, Tucson, Arizona, USA. April 21, 2021.
S. Devkota. CcNav: Understanding the Compilation of Binary Code. Paper Presentation. IEEE VIS 2020, Salt Lake City, Utah, USA. October 28, 2020. Youtube Link
A. Bigelow. Guidelines for Pursuing and Revealing Data Abstractions. Paper Presentation. IEEE VIS 2020, Salt Lake City, Utah, USA. October 29, 2020. Youtube Link
S. Devkota. Stress-Plux-X (SPX) Graph Layout. Paper Presentation. Graph Drawing '19, Prague, Czech Republic. September 18, 2019.