Learning Execution through Neural Code Fusion
Not on the map. Why?
Abstract (arXiv)
As the performance of computer systems stagnates due to the end of Moore's Law, there is a need for new models that can understand and optimize the execution of general purpose code. While there is a growing body of work on using Graph Neural Networks (GNNs) to learn representations of source code, these representations do not understand how code dynamically executes. In this work, we propose a new approach to use GNNs to learn fused representations of general source code and its execution. Our approach defines a multi-task GNN over low-level representations of source code and program state (i.e., assembly code and dynamic memory states), converting complex source code constructs and complex data structures into a simpler, more uniform format. We show that this leads to improved performance over similar methods that do not use execution and it opens the door to applying GNN models to new tasks that would not be feasible from static code alone. As an illustration of this, we apply the new model to challenging dynamic tasks (branch prediction and prefetching) from the SPEC CPU benchmark suite, outperforming the state-of-the-art by 26% and 45% respectively. Moreover, we use the learned fused graph embeddings to demonstrate transfer learning with high performance on an indirectly related task (algorithm classification).
Key facts. Cited by 13 papers in the map (data through 14 Oct 2026). First posted on arXiv 17 Jun 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 5; 2022: 2; 2023: 3; 2024: 2; 2025: 0; 2026: 1.
13 papers.
Sort:
By area:
- 2021Two Sides of the Same Coin: Heterophily and Oversmoothing in Graph Convolutional Neural Networkscited by 182
- 2021A Survey of Machine Learning for Computer Architecture and Systemscited by 53
- 2021An Evaluation of Edge TPU Accelerators for Convolutional Neural Networkscited by 39
- 2021Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learningcited by 18
- 2024CodeMMLU: A Multi-Task Benchmark for Assessing Code Understanding & Reasoning Capabilities of CodeLLMscited by 18
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimationcited by 9
- 2022Pre-Training Representations of Binary Code Using Contrastive Learningcited by 6
- 2023Learning Generalizable Program and Architecture Representations for Performance Modelingcited by 2
- 2021Program-to-Circuit: Exploiting GNNs for Program Representation and Circuit Translationcited by 1
- 2023Neuro-Symbolic Execution of Generic Source Codecited by 1
- 2026Athena: Synergizing Data Prefetching and Off-Chip Prediction via Online Reinforcement Learningcited by 1
- 2023NPS: A Framework for Accurate Program Sampling Using Graph Neural Networkcited by 0
1 more
- 2026Athena: Synergizing Data Prefetching and Off-Chip Prediction via Online Reinforcement Learning24 Jan 2026
- 2024CodeMMLU: A Multi-Task Benchmark for Assessing Code Understanding & Reasoning Capabilities of CodeLLMs2 Oct 2024
- 2024PerOS: Personalized Self-Adapting Operating Systems in the Cloud26 Mar 2024
- 2023Learning Generalizable Program and Architecture Representations for Performance Modeling25 Oct 2023
- 2023NPS: A Framework for Accurate Program Sampling Using Graph Neural Network18 Apr 2023
- 2023Neuro-Symbolic Execution of Generic Source Code23 Mar 2023
- 2022Pre-Training Representations of Binary Code Using Contrastive Learning11 Oct 2022
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimation8 Oct 2022
- 2021Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning24 Sep 2021
- 2021Program-to-Circuit: Exploiting GNNs for Program Representation and Circuit Translation13 Sep 2021
- 2021An Evaluation of Edge TPU Accelerators for Convolutional Neural Networks20 Feb 2021
- 2021A Survey of Machine Learning for Computer Architecture and Systems16 Feb 2021
- 2021Two Sides of the Same Coin: Heterophily and Oversmoothing in Graph Convolutional Neural Networkscited by 182
- 2021A Survey of Machine Learning for Computer Architecture and Systemscited by 53
- 2021An Evaluation of Edge TPU Accelerators for Convolutional Neural Networkscited by 39
- 2021Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learningcited by 18
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimationcited by 9
- 2022Pre-Training Representations of Binary Code Using Contrastive Learningcited by 6
- 2023Learning Generalizable Program and Architecture Representations for Performance Modelingcited by 2
- 2021Program-to-Circuit: Exploiting GNNs for Program Representation and Circuit Translationcited by 1
- 2023Neuro-Symbolic Execution of Generic Source Codecited by 1
- 2023NPS: A Framework for Accurate Program Sampling Using Graph Neural Networkcited by 0
- 2024PerOS: Personalized Self-Adapting Operating Systems in the Cloudcited by 0
- 2024PerOS: Personalized Self-Adapting Operating Systems in the Cloud26 Mar 2024
- 2023Learning Generalizable Program and Architecture Representations for Performance Modeling25 Oct 2023
- 2023NPS: A Framework for Accurate Program Sampling Using Graph Neural Network18 Apr 2023
- 2023Neuro-Symbolic Execution of Generic Source Code23 Mar 2023
- 2022Pre-Training Representations of Binary Code Using Contrastive Learning11 Oct 2022
- 2022GRANITE: A Graph Neural Network Model for Basic Block Throughput Estimation8 Oct 2022
- 2021Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning24 Sep 2021
- 2021Program-to-Circuit: Exploiting GNNs for Program Representation and Circuit Translation13 Sep 2021
- 2021An Evaluation of Edge TPU Accelerators for Convolutional Neural Networks20 Feb 2021
- 2021A Survey of Machine Learning for Computer Architecture and Systems16 Feb 2021
- 2021Two Sides of the Same Coin: Heterophily and Oversmoothing in Graph Convolutional Neural Networks12 Feb 2021