{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T16:18:37Z","timestamp":1759335517064,"version":"3.41.0"},"reference-count":21,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2009,6,1]],"date-time":"2009-06-01T00:00:00Z","timestamp":1243814400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Educ."],"published-print":{"date-parts":[[2009,6]]},"abstract":"<jats:p>\n            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\n            <jats:italic>fundamental algorithms<\/jats:italic>\n            can be visualized, but also algorithms used in compilers. Visualizations that exist for use in compiler courses are mostly for the\n            <jats:italic>frontend<\/jats:italic>\n            , 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.\n          <\/jats:p>","DOI":"10.1145\/1538234.1538241","type":"journal-article","created":{"date-parts":[[2009,12,1]],"date-time":"2009-12-01T14:35:04Z","timestamp":1259678104000},"page":"1-13","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Compiler Optimization Pass Visualization"],"prefix":"10.1145","volume":"9","author":[{"given":"Stefan","family":"Schaeckeler","sequence":"first","affiliation":[{"name":"Santa Clara University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Weijia","family":"Shang","sequence":"additional","affiliation":[{"name":"Santa Clara University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ruth","family":"Davis","sequence":"additional","affiliation":[{"name":"Santa Clara University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,6]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/53990.54001"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/191033.191121"},{"key":"e_1_2_1_3_1","first-page":"69","article-title":"Graphical visualization of compiler optimizations","volume":"3","author":"Boyd M.","year":"1995","journal-title":"J. Prog. Lang."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301655"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/502874.502886"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1384271.1384360"},{"key":"e_1_2_1_7_1","doi-asserted-by":"crossref","unstructured":"Gusfield D. 1997. Algorithms on Strings Trees and Sequences: Computer Science and Computational Biology. Cambridge University Press. Gusfield D. 1997. Algorithms on Strings Trees and Sequences: Computer Science and Computational Biology . Cambridge University Press.","DOI":"10.1017\/CBO9780511574931"},{"key":"e_1_2_1_8_1","unstructured":"Harvey B. and Tyson G. 1996. Graphical user interface for compiler optimizations with Simple-SUIF. Tech. rep. UCR-CS-96-5. Department of Computer Science University of California Riverside. Harvey B. and Tyson G. 1996. Graphical user interface for compiler optimizations with Simple-SUIF. Tech. rep. UCR-CS-96-5. Department of Computer Science University of California Riverside."},{"volume-title":"Boston: Addison-Wesley Longman Publishing Co.","year":"1999","author":"Jacobson I.","key":"e_1_2_1_9_1"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/330908.331801"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/273133.274303"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/951710.951724"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2004.02.044"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/298865.298867"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/199688.199855"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/774833.774837"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/TE.2002.808277"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/282991.283123"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2009.25"},{"volume-title":"Proceedings of the 5th Program Visualization Workshop (PVW\u201908)","author":"Schaeckeler S.","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1140124.1140249"}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1538234.1538241","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1538234.1538241","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:38:46Z","timestamp":1750253926000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1538234.1538241"}},"subtitle":["The Procedural Abstraction Case"],"short-title":[],"issued":{"date-parts":[[2009,6]]},"references-count":21,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2009,6]]}},"alternative-id":["10.1145\/1538234.1538241"],"URL":"https:\/\/doi.org\/10.1145\/1538234.1538241","relation":{},"ISSN":["1946-6226"],"issn-type":[{"type":"electronic","value":"1946-6226"}],"subject":[],"published":{"date-parts":[[2009,6]]},"assertion":[{"value":"2008-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}