SUPR
Software Performance Prediction using Graph Neural Networks
Dnr:

NAISS 2024/22-398

Type:

NAISS Small Compute

Principal Investigator:

Philipp Leitner

Affiliation:

Chalmers tekniska högskola

Start Date:

2024-04-01

End Date:

2025-04-01

Primary Classification:

10205: Software Engineering

Webpage:

Allocation

Abstract

Predicting the performance of software at development time, prior to actually executing or benchmarking it, is known to be highly challenging. In this project, we investigate predictive models that use a powerful graph representation of software source code (FA-ASTs, or flow-augmented ASTs) and graph neural networks to predict the execution time of specific workloads in Java programs (examples include benchmark or test execution times). We train our prediction model using a combination of publicly available performance measurements (e.g., test execution times from the public continuous integration environments of open source systems) as well as custom-collected benchmarking information. The goal of this project is to (a) demonstrate that sufficiently accurate software performance estimation is feasible using modern machine learning methods, and (b) to provide pre-trained performance models for Java code in different domains (e.g., database systems, programming libraries, etc.).