CcNav: Understanding Compiler Optimizations in Binary Code
Sabin Devkota, Pascal Aschwanden, Adam Kunen, Matthew P. LeGendre, Katherine E. Isaacs
摘要
Program developers spend significant time on optimizing and tuning programs. During this iterative process, they apply optimizations, analyze the resulting code, and modify the compilation until they are satisfied. Understanding what the compiler did with the code is crucial to this process but is very time-consuming and labor-intensive. Users need to navigate through thousands of lines of binary code and correlate it to source code concepts to understand the results of the compilation and to identify optimizations. We present a design study in collaboration with program developers and performance analysts. Our collaborators work with various artifacts related to the program such as binary code, source code, control flow graphs, and call graphs. Through interviews, feedback, and pair-analytics sessions, we analyzed their tasks and workflow. Based on this task analysis and through a human-centric design process, we designed a visual analytics system Compilation Navigator (CcNav ) to aid exploration of the effects of compiler optimizations on the program. CcNav provides a streamlined workflow and a unified context that integrates disparate artifacts. CcNav supports consistent interactions across all the artifacts making it easy to correlate binary code with source code concepts. CcNav enables users to navigate and filter large binary code to identify and summarize optimizations such as inlining, vectorization, loop unrolling, and code hoisting. We evaluate CcNav through guided sessions and semi-structured interviews. We reflect on our design process, particularly the immersive elements, and on the transferability of design studies through our experience with a previous design study on program analysis.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper1
相关 Paper
- Traveler: Navigating Task Parallel Traces for Performance AnalysisSayef Azad Sakin, Alex Bigelow, R. Tohid, Connor Scully-Allison 等IEEE VIS 2022 · 被引用 10 次
- CPVis: Evidence-based Multimodal Learning Analytics for Evaluation in Collaborative ProgrammingGefei Zhang, Shenming Ji, Yicao Li, Jingwei Tang 等CHI 2025 · 被引用 8 次
- VAID: Indexing View Designs in Visual Analytics SystemLu Ying, Aoyu Wu, Haotian Li, Zikun Deng 等CHI 2024 · 被引用 11 次
- Diff in the Loop: Supporting Data Comparison in Exploratory Data AnalysisApril Yi Wang, Will Epperson, Robert A. DeLine, Steven Mark DruckerCHI 2022 · 被引用 34 次
- TweakIt: Supporting End-User Programmers Who Transmogrify CodeSam Lau, Sruti Srinivasa Ragavan, Ken Milne, Titus Barik 等CHI 2021 · 被引用 26 次
