ProGraML: Graph-based Deep Learning for Program Optimization and Analysis
Not on the map. Why?
Abstract (arXiv)
The increasing complexity of computing systems places a tremendous burden on optimizing compilers, requiring ever more accurate and aggressive optimizations. Machine learning offers significant benefits for constructing optimization heuristics but there remains a gap between what state-of-the-art methods achieve and the performance of an optimal heuristic. Closing this gap requires improvements in two key areas: a representation that accurately captures the semantics of programs, and a model architecture with sufficient expressiveness to reason about this representation. We introduce ProGraML - Program Graphs for Machine Learning - a novel graph-based program representation using a low level, language agnostic, and portable format; and machine learning models capable of performing complex downstream tasks over these graphs. The ProGraML representation is a directed attributed multigraph that captures control, data, and call relations, and summarizes instruction and operand types and ordering. Message Passing Neural Networks propagate information through this structured representation, enabling whole-program or per-vertex classification tasks. ProGraML provides a general-purpose program representation that equips learnable models to perform the types of program analysis that are fundamental to optimization. To this end, we evaluate the performance of our approach first on a suite of traditional compiler analysis tasks: control flow reachability, dominator trees, data dependencies, variable liveness, and common subexpression detection. On a benchmark dataset of 250k LLVM-IR files covering six source programming languages, ProGraML achieves an average 94.0 F1 score, significantly outperforming the state-of-the-art approaches. We then apply our approach to two high-level tasks - heterogeneous device mapping and program classification - setting new state-of-the-art performance in both.
Key facts. Cited by 23 papers in the map (data through 7 Oct 2026). First posted on arXiv 23 Mar 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 8; 2022: 4; 2023: 6; 2024: 2; 2025: 2; 2026: 1.
23 papers.
Sort:
By area:
- 2021Proof Artifact Co-training for Theorem Proving with Language Modelscited by 130
- 2023Transformers Meet Directed Graphscited by 39
- 2021How could Neural Networks understand Programs?cited by 26
- 2023TpuGraphs: A Performance Prediction Dataset on Large Tensor Computational Graphscited by 16
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Trainingcited by 15
- 2023Supersonic: Learning to Generate Source Code Optimizations in C/C++cited by 15
- 2023Understanding Programs by Exploiting (Fuzzing) Test Casescited by 13
- 2021Learning C to x86 Translation: An Experiment in Neural Compilationcited by 12
- 2022Learning to Parallelize in a Shared-Memory Environment with Transformerscited by 10
- 2022Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimizationcited by 9
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimationcited by 9
- 2021A Reinforcement Learning Environment for Polyhedral Optimizationscited by 5
11 more
- 2021LS-CAT: A Large-Scale CUDA AutoTuning Datasetcited by 3
- 2021Learning to Extend Program Graphs to Work-in-Progress Codecited by 3
- 2021Generating GPU Compiler Heuristics using Reinforcement Learningcited by 3
- 2023PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysiscited by 3
- 2021Federated Data Science to Break Down Silos [Vision]cited by 1
- 2024Tadashi: Enabling AI-Based Automated Code Generation With Guaranteed Correctnesscited by 1
- 2025Call Me Maybe: Enhancing JavaScript Call Graph Construction using Graph Neural Networkscited by 1
- 2023ROAM: memory-efficient large DNN training via optimized operator ordering and memory layoutcited by 0
- 2024Analysing the Behaviour of Tree-Based Neural Networks in Regression Taskscited by 0
- 2025A Deep Learning Model for Predicting Transformation Legalitycited by 0
- 2026Learning Reasoning World Models for Parallel Codecited by 0
- 2026Learning Reasoning World Models for Parallel Code22 Apr 2026
- 2025A Deep Learning Model for Predicting Transformation Legality8 Nov 2025
- 2025Call Me Maybe: Enhancing JavaScript Call Graph Construction using Graph Neural Networks22 Jun 2025
- 2024Tadashi: Enabling AI-Based Automated Code Generation With Guaranteed Correctness4 Oct 2024
- 2024Analysing the Behaviour of Tree-Based Neural Networks in Regression Tasks17 Jun 2024
- 2023ROAM: memory-efficient large DNN training via optimized operator ordering and memory layout30 Oct 2023
- 2023Supersonic: Learning to Generate Source Code Optimizations in C/C++26 Sep 2023
- 2023TpuGraphs: A Performance Prediction Dataset on Large Tensor Computational Graphs25 Aug 2023
- 2023PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis31 May 2023
- 2023Understanding Programs by Exploiting (Fuzzing) Test Cases23 May 2023
- 2023Transformers Meet Directed Graphs31 Jan 2023
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimation8 Oct 2022
11 more
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Training4 May 2022
- 2022Learning to Parallelize in a Shared-Memory Environment with Transformers27 Apr 2022
- 2022Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimization1 Mar 2022
- 2021Federated Data Science to Break Down Silos [Vision]25 Nov 2021
- 2021Generating GPU Compiler Heuristics using Reinforcement Learning23 Nov 2021
- 2021Learning C to x86 Translation: An Experiment in Neural Compilation17 Aug 2021
- 2021Learning to Extend Program Graphs to Work-in-Progress Code28 May 2021
- 2021How could Neural Networks understand Programs?10 May 2021
- 2021A Reinforcement Learning Environment for Polyhedral Optimizations28 Apr 2021
- 2021LS-CAT: A Large-Scale CUDA AutoTuning Dataset26 Mar 2021
- 2021Proof Artifact Co-training for Theorem Proving with Language Models11 Feb 2021
- 2026Learning Reasoning World Models for Parallel Codecited by 0
- 2026Learning Reasoning World Models for Parallel Code22 Apr 2026
- 2023Transformers Meet Directed Graphscited by 39
- 2021How could Neural Networks understand Programs?cited by 26
- 2023TpuGraphs: A Performance Prediction Dataset on Large Tensor Computational Graphscited by 16
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Trainingcited by 15
- 2023Supersonic: Learning to Generate Source Code Optimizations in C/C++cited by 15
- 2023Understanding Programs by Exploiting (Fuzzing) Test Casescited by 13
- 2021Learning C to x86 Translation: An Experiment in Neural Compilationcited by 12
- 2022Learning to Parallelize in a Shared-Memory Environment with Transformerscited by 10
- 2022Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimizationcited by 9
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimationcited by 9
- 2021A Reinforcement Learning Environment for Polyhedral Optimizationscited by 5
- 2021LS-CAT: A Large-Scale CUDA AutoTuning Datasetcited by 3
12 most cited of 21 All 21 (JSON)
- 2025A Deep Learning Model for Predicting Transformation Legality8 Nov 2025
- 2025Call Me Maybe: Enhancing JavaScript Call Graph Construction using Graph Neural Networks22 Jun 2025
- 2024Tadashi: Enabling AI-Based Automated Code Generation With Guaranteed Correctness4 Oct 2024
- 2024Analysing the Behaviour of Tree-Based Neural Networks in Regression Tasks17 Jun 2024
- 2023ROAM: memory-efficient large DNN training via optimized operator ordering and memory layout30 Oct 2023
- 2023Supersonic: Learning to Generate Source Code Optimizations in C/C++26 Sep 2023
- 2023TpuGraphs: A Performance Prediction Dataset on Large Tensor Computational Graphs25 Aug 2023
- 2023PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis31 May 2023
- 2023Understanding Programs by Exploiting (Fuzzing) Test Cases23 May 2023
- 2023Transformers Meet Directed Graphs31 Jan 2023
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimation8 Oct 2022
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Training4 May 2022
12 newest of 21 All 21 (JSON)