TEP-GNN: Accurate Execution Time Prediction of Functional Tests using Graph Neural Networks

08/25/2022
by   Hazem Peter Samoaa, et al.
0

Predicting the performance of production code prior to actually executing or benchmarking it is known to be highly challenging. In this paper, we propose a predictive model, dubbed TEP-GNN, which demonstrates that high-accuracy performance prediction is possible for the special case of predicting unit test execution times. TEP-GNN uses FA-ASTs, or flow-augmented ASTs, as a graph-based code representation approach, and predicts test execution times using a powerful graph neural network (GNN) deep learning model. We evaluate TEP-GNN using four real-life Java open source programs, based on 922 test files mined from the projects' public repositories. We find that our approach achieves a high Pearson correlation of 0.789, considerable outperforming a baseline deep learning model. However, we also find that more work is needed for trained models to generalize to unseen projects. Our work demonstrates that FA-ASTs and GNNs are a feasible approach for predicting absolute performance values, and serves as an important intermediary step towards being able to predict the performance of arbitrary code prior to execution.

READ FULL TEXT

page 8

page 9

research
09/21/2021

mGNN: Generalizing the Graph Neural Networks to the Multilayer Case

Networks are a powerful tool to model complex systems, and the definitio...
research
09/07/2023

Enhancing 5G Radio Planning with Graph Representations and Deep Learning

The roll out of new mobile network generations poses hard challenges due...
research
06/17/2019

Learning Execution through Neural Code Fusion

As the performance of computer systems stagnates due to the end of Moore...
research
09/13/2020

Advanced Graph-Based Deep Learning for Probabilistic Type Inference

Dynamically typed languages such as JavaScript and Python have emerged a...
research
10/23/2020

Learning to Execute Programs with Instruction Pointer Attention Graph Neural Networks

Graph neural networks (GNNs) have emerged as a powerful tool for learnin...
research
02/20/2021

Spotting Silent Buffer Overflows in Execution Trace through Graph Neural Network Assisted Data Flow Analysis

A software vulnerability could be exploited without any visible symptoms...
research
02/05/2023

LExecutor: Learning-Guided Execution

Executing code is essential for various program analysis tasks, e.g., to...

Please sign up or login with your details

Forgot password? Click here to reset