CcNav: Understanding Compiler Optimizations in Binary Code
Sabin Devkota, Pascal Aschwanden, Adam Kunen, Matthew Legendre, and, Katherine E. Isaacs

TL;DR
CcNav is a visual analytics system designed to help developers understand compiler optimizations in binary code by integrating various artifacts and providing streamlined exploration tools.
Contribution
The paper presents CcNav, a human-centric visual analytics system that facilitates exploration and understanding of compiler optimizations in binary code, based on a detailed design study.
Findings
CcNav enables efficient navigation and filtering of large binary code.
Users can identify key optimizations like inlining and loop unrolling.
The system improves understanding of compiler effects on code.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
