Predicting the performance of production code prior to actual execution 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. 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.
TEP-GNN: Accurate Execution Time Prediction of Functional Tests Using Graph Neural Networks / Samoaa, Hazem Peter; Longa, Antonio; Mohamad, Mazen; Chehreghani, Morteza Haghir; Leitner, Philipp. - 13709 LNCS:(2022), pp. 464-479. (Intervento presentato al convegno 23rd International Conference on Product-Focused Software Process Improvement, PROFES 2022 tenutosi a fin nel 2022) [10.1007/978-3-031-21388-5_32].
TEP-GNN: Accurate Execution Time Prediction of Functional Tests Using Graph Neural Networks
Longa, AntonioSecondo
;
2022-01-01
Abstract
Predicting the performance of production code prior to actual execution 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. 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.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione