Over the lifespan of a software application, it is inevitable that changes to the source code will be made that causes unintended slowdowns in functionality. These slowdowns are referred to as performance regression. Typically projects who are particularly concerned about performance have performance testing that are run to identify if a performance regression is introduced into the code. This is difficult however due to how time consuming and resource intensive running performance tests are when trying to simulate a realistic scenario.
The study of De Oliveira et. al. (Perphecy)  suggests a technique to predict the likelihood that a commit will introduce performance regression. This is done through the use of static and dynamic metrics across several projects. The study of Alshoaibi et. al.
(PRICE)  replicates and expands the work but focuses on a single project, that being
”Git”. PRICE generated a large dataset consisting of benchmarks for each commit introduced into the code compared to the commit that was its predecessor.
This thesis seeks to further expand PRICE and use their collected data to create a machine learning model that can accurately predict performance regression within commits.
We have been able to successfully create these models and were able to outperform previous models at identifying performance regression introducing commits.
Library of Congress Subject Headings
Computer software--Testing; Machine learning
Software Engineering (MS)
Department, Program, or Center
Software Engineering (GCCIS)
Mohamed Wiem Mkaouer
Ali Ben Mrad
Mendelson, Max, "Identifying Performance Regression From The Commit Phase Utilizing Machine Learning Techniques" (2020). Thesis. Rochester Institute of Technology. Accessed from
RIT – Main Campus