TY - GEN
T1 - VisOpt - Visualization of Compiler Optimizations for Computer Science Education
AU - Koitz-Hristov, Roxane
AU - Mandl, Franz
AU - Wotawa, Franz
PY - 2025/2/18
Y1 - 2025/2/18
N2 - Visualizations in teaching have become a common practice as they effectively convey theoretical concepts. Compiler construction, a heavily theory-based subject in computer science education, is particularly challenging for students to understand. While many tools simulate a compiler's front end, or analysis phase, applications that focus on the back end, or synthesis phase, are scarce. This paper describes VisOpt, a web-based visualization tool designed for a master's level Compiler Construction course. VisOptfocuses on the synthesis phase, i.e., code optimization and code generation. Its primary objective is to help students comprehend various local compiler optimizations, which can be visualized on the original code, an intermediate representation, or an assembler-like target code. A quasi-experiment with a pre-test-post-test design revealed that students who used VisOpt reported higher self-efficacy compared to those who did not. Although no significant improvement in learning outcomes was observed overall, we propose VisOpt as an engaging pedagogical tool that effectively complements traditional methods for teaching the synthesis phase of compilers.
AB - Visualizations in teaching have become a common practice as they effectively convey theoretical concepts. Compiler construction, a heavily theory-based subject in computer science education, is particularly challenging for students to understand. While many tools simulate a compiler's front end, or analysis phase, applications that focus on the back end, or synthesis phase, are scarce. This paper describes VisOpt, a web-based visualization tool designed for a master's level Compiler Construction course. VisOptfocuses on the synthesis phase, i.e., code optimization and code generation. Its primary objective is to help students comprehend various local compiler optimizations, which can be visualized on the original code, an intermediate representation, or an assembler-like target code. A quasi-experiment with a pre-test-post-test design revealed that students who used VisOpt reported higher self-efficacy compared to those who did not. Although no significant improvement in learning outcomes was observed overall, we propose VisOpt as an engaging pedagogical tool that effectively complements traditional methods for teaching the synthesis phase of compilers.
KW - Compiler Optimization
KW - Compiler Visualization
KW - Computer Science Education
KW - Simulation software
KW - Visualization
UR - http://www.scopus.com/inward/record.url?scp=86000227236&partnerID=8YFLogxK
U2 - 10.1145/3641554.3701832
DO - 10.1145/3641554.3701832
M3 - Conference paper
VL - 1
T3 - SIGCSE TS 2025 - Proceedings of the 56th ACM Technical Symposium on Computer Science Education
SP - 603
EP - 609
BT - SIGCSE TS 2025 - Proceedings of the 56th ACM Technical Symposium on Computer Science Education
T2 - 56th Annual SIGCSE Technical Symposium on Computer Science Education, SIGCSE TS 2025
Y2 - 6 February 2025 through 1 March 2025
ER -