Compiler Optimization Pass Visualization

Stefan Schaeckeler, Weijia Shang, Ruth Davis · ACM Transactions on Computing Education · 2009

There is an active research community concentrating on visualizations of algorithms taught in CS1 and CS2 courses. These visualizations can help students to create concrete visual images of the algorithms and their underlying concepts. Not only fundamental algorithms can be visualized, but also algorithms used in compilers. Visualizations that exist for use in compiler courses are mostly for the frontend , though. In this article we propose the use of visualizations for understanding optimization passes. Optimization passes are complex algorithms that operate on large amounts of code and it is not obvious when, where and how often each optimization is applied to the code. We show in this article how visualizations for a procedural abstraction optimization pass can capture the effect of all instances of this optimization over an entire program to make it easier for students to comprehend procedural abstraction.

Read the paper · More papers on PaperTik