Visualizing The Intermediate Representation of Just-in-Time Compilers

06/09/2021
by   HeuiChan Lim, et al.
0

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.

READ FULL TEXT
research
08/25/2021

Visualizing JIT Compiler Graphs

Just-in-time (JIT) compilers are used by many modern programming systems...
research
11/18/2021

Stateful Entities: Object-oriented Cloud Applications as Distributed Dataflows

Programming stateful cloud applications remains a very painful experienc...
research
09/21/2022

UPIR: Toward the Design of Unified Parallel Intermediate Representation for Parallel Programming Models

The complexity of heterogeneous computing architectures, as well as the ...
research
11/27/2018

How a simple bug in ML compiler could be exploited for backdoors?

Whenever a bug occurs in a program, software developers assume that the ...
research
10/20/2017

Self-adaptive static analysis

Static code analysis is a powerful approach to detect quality deficienci...
research
06/23/2021

Threaded Code Generation with a Meta-tracing JIT Compiler

Language implementation frameworks, e.g., RPython and Truffle/Graal, are...
research
12/11/2010

On the Implementation of GNU Prolog

GNU Prolog is a general-purpose implementation of the Prolog language, w...

Please sign up or login with your details

Forgot password? Click here to reset