PROGRAML: A Graph-based Program Representation for Data Flow Analysis and Compiler Optimizations

Chris Cummins*, Zacharias V. Fisches, Tal Ben-Nun, Torsten Hoefler, Michael F P O'Boyle, Hugh Leather

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Machine learning (ML) is increasingly seen as a viable approach for building compiler optimization heuristics, but many ML methods cannot replicate even the simplest of the data flow analyses that are critical to making good optimization decisions. We posit that if ML cannot do that, then it is insufficiently able to reason about programs. We formulate data flow analyses as supervised learning tasks and introduce a large open dataset of programs and their corresponding labels from several analyses. We use this dataset to benchmark ML methods and show that they struggle on these fundamental program reasoning tasks. We propose ProGraML - Program Graphs for Machine Learning - a language-independent, portable representation of program semantics. ProGraML overcomes the limitations of prior works and yields improved performance on downstream optimization tasks.
Original languageEnglish
Title of host publicationProceedings of the 38th International Conference on Machine Learning
Number of pages10
Publication statusPublished - 18 Jul 2021
EventThirty-eighth International Conference on Machine Learning - Online
Duration: 18 Jul 202124 Jul 2021

Publication series

NameProceedings of Machine Learning Research
ISSN (Electronic)2640-3498


ConferenceThirty-eighth International Conference on Machine Learning
Abbreviated titleICML 2021
Internet address


Dive into the research topics of 'PROGRAML: A Graph-based Program Representation for Data Flow Analysis and Compiler Optimizations'. Together they form a unique fingerprint.

Cite this