JITScope: Interactive Visualization of JIT Compiler IR Transformations
Kyra Dalbo, Yumna Ahmed, HeuiChan Lim
TL;DR
JITScope tackles the challenge of understanding complex JIT compiler IR transformations by providing a phase-aware, interactive visualization framework. It implements a full-stack pipeline (JSON IR → SQLite → CSV → D3.js graph) within an MVC design to enable modular data handling, scalable visualization, and extensible analysis across compilation phases. The work details a JSON-to-relational backend, a normalized schema, and a planned front-end that supports phase filtering, node tracking, and instruction-level exploration, accompanied by an evaluation plan focused on usability and interpretability. This framework has the potential to streamline debugging and research into JIT optimizations by offering a concrete, interactive lens into IR evolution and phase-wise behavior.
Abstract
The complexity of modern Just-In-Time (JIT) compiler optimization poses significant challenges for developers seeking to understand and debug intermediate representation (IR) behavior. This work introduces JITScope, an interactive visualization framework that illustrates how IR nodes and instructions evolve across compilation phases. The system features a full-stack architecture: a Python-based backend transforms raw JSON-formatted IR data-representing an abstract model of the JIT compiler IR-into a normalized SQLite database; a controller layer serves processed CSV data; and a D3.js-powered frontend renders an interactive, phase-aware graph of IR node transformations. The design emphasizes modularity, traceability, and flexibility. Our roadmap explores intuitive visual representations of phase-level changes in IR node connectivity, values, and access patterns. Ultimately, JITScope lays a foundation for future tooling that enables visual exploration of IR evolution, including phase filtering, value tracking, and function-access mapping-offering a new lens into the behaviors and impacts of compiler optimizations.
