Visualizing The Intermediate Representation of Just-in-Time Compilers
HeuiChan Lim, Stephen Kobourov

TL;DR
This paper introduces a visualization method using a metro map metaphor to simplify and debug the complex intermediate representations generated by JIT compilers, aiding developers in identifying bugs.
Contribution
It presents a novel visualization approach specifically designed for JIT compiler intermediate representations, improving debugging efficiency.
Findings
Helped identify buggy code in V8 JavaScript engine
Facilitated localization of bugs in TurboFan JIT compiler
Proved effective in debugging complex JIT IRs
Abstract
Just-in-Time (JIT) compilers are used by many modern programming systems in order to improve performance. Bugs in JIT compilers provide exploitable security vulnerabilities and debugging them is difficult as they are large, complex, and dynamic. Current debugging and visualization tools deal with static code and are not suitable in this domain. We describe a new approach for simplifying the large and complex intermediate representation, generated by a JIT compiler and visualize it with a metro map metaphor to aid developers in debugging. Experiments using our prototype implementation on Google's V8 JavaScript interpreter and TurboFan JIT compiler demonstrate that it can help identify and localize buggy code.
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.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Software Engineering Research · Software Testing and Debugging Techniques
