We are upgrading the repository! We will continue our upgrade in February 2025 - we have taken a break from the upgrade to open some collections for end-of-semester submission. The MS-GIST Master's Reports, SBE Senior Capstones, and UA Faculty Publications collections are currently open for submission. Please reach out to repository@u.library.arizona.edu with your questions, or if you are a UA affiliate who needs to make content available in another collection.
CFGExplorer: Designing a Visual Control Flow Analytics System around Basic Program Analysis Operations
Publisher
WILEYCitation
Devkota, S. and Isaacs, K. E. (2018), CFGExplorer: Designing a Visual Control Flow Analytics System around Basic Program Analysis Operations. Computer Graphics Forum, 37: 453-464. doi:10.1111/cgf.13433Journal
COMPUTER GRAPHICS FORUMRights
© 2018 The Author(s). Published by John Wiley & Sons Ltd.Collection Information
This item from the UA Faculty Publications collection is made available by the University of Arizona with support from the University of Arizona Libraries. If you have questions, please contact us at repository@u.library.arizona.edu.Abstract
To develop new compilation and optimization techniques, computer scientists frequently Consult program analysis artifacts such as Control flow graphs (CFGs) and traces of executed instructions. A CFG is a directed graph representing possible execution paths in a program. CFGs are commonly visualized as node-link diagrams while traces are commonly viewed in raw text format. Visualizing and exploring CFGs and traces is challenging because of the complexity and specificity of the operations researchers perform. We present a design study where we collaborate with computer scientists researching dynamic binary analysis and compilation techniques. The research group primarily employs CFGs and traces to reason about and develop new algorithms for program optimization and parallelization. Through questionnaires, interviews, and a year-long observation, we analyzed their use of visualization, noting that the tasks they perform match common subroutines they employ in their techniques. Based on this task analysis, we designed CFGExplorer, a visual analytics system that supports computer scientists with interactions that are integrated with the program structure. We developed a domain-specific graph modification to generate graph layouts that reflect program structure. CFGExplorer incorporates structures such as functions and loops, and uses the correspondence between CFGs and traces to support navigation. We further augment the system to highlight the output of program analysis techniques, facilitating exploration at a higher level. We evaluate the tool through guided sessions and semi-structured interviews as well as deployment. Our collaborators have integrated CFGExplorer into their workflow and use it to reason about programs, develop and debug new algorithms, and share their findings.ISSN
01677055Sponsors
National Science Foundation [III-1656958]Additional Links
http://doi.wiley.com/10.1111/cgf.2018.37.issue-3https://onlinelibrary.wiley.com/doi/abs/10.1111/cgf.13433
ae974a485f413a2113503eed53cd6c53
10.1111/cgf.2018.37.issue-3