Applying the Bisection Method to Performance Regression Testing in Distributed Systems

  • Valentin Neustifter

Student thesis: Master's Thesis

Abstract

Performance is an important aspect of software systems, therefore performance regressions should be avoided as much as possible. As a system grows larger however, avoiding
performance regressions becomes an increasingly difficult task. Regression testing is a
common practice to make sure that any changes to a system do not negatively affect its performance. Regression testing can be a very complex and costly endeavour
though, especially in modern, large-scale distributed systems that are running in the
cloud. Despite putting lots of effort into regression testing, it happens time and again
that software with bad performance gets released or that the performance of a system
decays over time. Upon encountering a performance regression, it is then important to
find where it was introduced to be able to quickly fix it.
This thesis proposes an automatic approach to localize performance regressions in
distributed systems by utilizing the bisection method. Doing so, a large number of commits can be searched for regressions in a relatively short time using binary search. The
approach is then implemented in two different ways. First, there is an implementation
with a smaller test system that is using a microservice architecture to mimic a bigger,
modern distributed system. Performance regressions are intentionally built into this
system to extensively test the proposed approach and evaluate how capable it is of
finding performance regressions. Secondly, the approach is then also applied to a large
distributed system, namely the Dynatrace platform. Within this enterprise setting, a
different implementation for the same approach is done. Compared to the first implementation, many components have been adapted or were developed from scratch to
handle the specific requirements that working with a large distributed system brings
along. Finally, the implementation is tested and evaluated again regarding its ability to
localize performance regressions.
Date of Award2024
Original languageEnglish (American)
SupervisorClemens Holzmann (Supervisor)

Cite this

'