Compiler Optimization Pass Visualization: The Procedural Abstraction Case

  • Authors:
  • Stefan Schaeckeler;Weijia Shang;Ruth Davis

  • Affiliations:
  • Santa Clara University;Santa Clara University;Santa Clara University

  • Venue:
  • ACM Transactions on Computing Education (TOCE) - Special Issue on the 5th Program Visualization Workshop (PVW’08)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.