TY - GEN
T1 - Domain-Centered Support for Layout, Tasks, and Specification for Control Flow Graph Visualization
AU - Devkota, Sabin
AU - Legendre, Matthew P.
AU - Kunen, Adam
AU - Aschwanden, Pascal
AU - Isaacs, Katherine E.
N1 - Publisher Copyright:
© 2022 IEEE.
PY - 2022
Y1 - 2022
N2 - Computing professionals in areas like compilers, performance analysis, and security often analyze and manipulate control flow graphs (CFGs) in their work. CFGs are directed networks that describe possible orderings of instructions in the execution of a program. Visualizing a CFG is a common activity in developing or debugging computational approaches that use them. However, general graph drawing layouts, including the hierarchical ones frequently applied to CFGs, do not capture CFG-specific structures or tasks and thus the resulting drawing may not match the needs of their audience, especially for more complicated programs. While several algorithms offer flexibility in specifying the layout, they often require expertise with graph drawing layouts and primitives that these potential users do not have. To bring domain-specific CFG drawing to this audience, we develop CFGConf, a library designed to match the abstraction level of CFG experts. CFGConf provides a JSON interface that produces drawings that can stand-alone or be integrated into multi-view visualization systems. We developed CFGConf through an interactive design process with experts while incorporating lessons learned from previous CFG visualization systems, a survey of CFG drawing conventions in computing systems conferences, and existing design principles for notations. We evaluate CFGConf in terms of expressiveness, usability, and notational efficiency through a user study and illustrative examples. CFG experts were able to use the library to produce the domain-aware layouts and appreciated the task-aware nature of the specification.
AB - Computing professionals in areas like compilers, performance analysis, and security often analyze and manipulate control flow graphs (CFGs) in their work. CFGs are directed networks that describe possible orderings of instructions in the execution of a program. Visualizing a CFG is a common activity in developing or debugging computational approaches that use them. However, general graph drawing layouts, including the hierarchical ones frequently applied to CFGs, do not capture CFG-specific structures or tasks and thus the resulting drawing may not match the needs of their audience, especially for more complicated programs. While several algorithms offer flexibility in specifying the layout, they often require expertise with graph drawing layouts and primitives that these potential users do not have. To bring domain-specific CFG drawing to this audience, we develop CFGConf, a library designed to match the abstraction level of CFG experts. CFGConf provides a JSON interface that produces drawings that can stand-alone or be integrated into multi-view visualization systems. We developed CFGConf through an interactive design process with experts while incorporating lessons learned from previous CFG visualization systems, a survey of CFG drawing conventions in computing systems conferences, and existing design principles for notations. We evaluate CFGConf in terms of expressiveness, usability, and notational efficiency through a user study and illustrative examples. CFG experts were able to use the library to produce the domain-aware layouts and appreciated the task-aware nature of the specification.
KW - control flow graphs
KW - graph drawing
KW - human-centered computing
KW - visualization systems and tools
UR - http://www.scopus.com/inward/record.url?scp=85146242922&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85146242922&partnerID=8YFLogxK
U2 - 10.1109/VISSOFT55257.2022.00013
DO - 10.1109/VISSOFT55257.2022.00013
M3 - Conference contribution
AN - SCOPUS:85146242922
T3 - Proceedings - 2022 Working Conference on Software Visualization, VISSOFT 2022
SP - 40
EP - 50
BT - Proceedings - 2022 Working Conference on Software Visualization, VISSOFT 2022
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2022 Working Conference on Software Visualization, VISSOFT 2022
Y2 - 2 October 2022 through 7 October 2022
ER -