CFGExplorer: Designing a Visual Control Flow Analytics System around Basic Program Analysis Operations

dc.contributor.authorDevkota, Sabinen_US
dc.contributor.authorIsaacs, Katherine E.en_US
dc.contributor.editorJeffrey Heer and Heike Leitte and Timo Ropinskien_US
dc.date.accessioned2018-06-02T18:09:22Z
dc.date.available2018-06-02T18:09:22Z
dc.date.issued2018
dc.description.abstractTo 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.en_US
dc.description.number3
dc.description.sectionheadersVR and Workflows
dc.description.seriesinformationComputer Graphics Forum
dc.description.volume37
dc.identifier.doi10.1111/cgf.13433
dc.identifier.issn1467-8659
dc.identifier.pages453-464
dc.identifier.urihttps://doi.org/10.1111/cgf.13433
dc.identifier.urihttps://diglib.eg.org:443/handle/10.1111/cgf13433
dc.publisherThe Eurographics Association and John Wiley & Sons Ltd.en_US
dc.titleCFGExplorer: Designing a Visual Control Flow Analytics System around Basic Program Analysis Operationsen_US
Files
Collections