Not logged in.

Contribution Details

Type Master's Thesis
Scope Discipline-based scholarship
Title Software Microbenchmark Reconfiguration Reducing Execution Time without Sacrificing Quality
Organization Unit
Authors
  • Stefan Würsten
Supervisors
  • Harald Gall
  • Christoph Laaber
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2020
Abstract Text In recent years, performance testing has gained increasing popularity. Such tests measure a software component’s execution time. Compared to traditional functional tests, it is not sufficient to execute a test once. Instead, performance should be measured multiple times to obtain a representative distribution. However, this results in a far more time-intensive execution. First, we investigate how developers currently configure software microbenchmarks, including how the proposed default values are modified and how this affects the execution time. Our analysis reveals that software microbenchmarks are often never modified after being written. Many projects reuse the default values for certain parameters. However, if user-defined values are set, this often results in a shorter execution time. Second, we investigate the consequences of dynamically determined execution configurations. In regular intervals, we check the characteristics of the performance distribution and decide whether more data points are required. We compare our novel approach with the standard execution. For a preponderant majority of software microbenchmarks, the novel approach produces a similar performance distribution for which an A/A test cannot detect significant differences. However, depending on the stoppage criteria, up to 82\% of the execution time can be saved. Our novel approach should help developers to shorten the time-consuming execution while still producing a sound result.
Zusammenfassung Die Popularität von Performance Tests ist über die letzten Jahre stetig gestiegen. Solche Tests messen die Ausführungszeit einer Softwarekomponente. Im Vergleich zu herkömmlichen funktionalen Tests genügt es aber nicht diesen einmal auszuführen. Die Performance sollte mehrfach gemessen werden, um eine representative Verteilung zu generieren. Diese zahlreichen Ausführungen benötigen aber eine wesentlich höhere Ausführungszeit. Zuerst beleuchten wir wie Entwickler aktuell solche Software Mikrobenchmarks konfigurieren. Geprüft wird, inwiefern die vorgeschlagenen Standardwerte modifiziert werden und welche Auswirkungen dies auf die Ausführungszeit hat. Unsere Untersuchung hat gezeigt, dass Software Mikrobenchmarks häufig nur einmal geschrieben und danach nie mehr angepasst werden. Viele Projekte greifen bei einigen Parametern auf Standardwerte zurück. Werden eigene Werte verwendet, resultiert daraus häufig eine kürzere Ausführungszeit. Anschliessend untersuchen wir die Auswirkungen, wenn statische Konfigurationen dynamisch bestimmt werden. In regulären Intervallen prüfen wir die Eigenschaften der Performanceverteilung und entscheiden, ob noch mehr Datenpunkte benötigt werden. Wir vergleichen dabei unseren neuartigen Ansatz mit dem traditionellen. Für eine überwiegende Mehrheit der Software Mikrobenchmarks führt unsere neuartige Vorgehensweise zu ähnlichen Performanceverteilungen, für welche statistische A/A Tests keine signifikanten Unterschiede feststellen können. Jedoch kann die Ausführungszeit je nach gewähltem Abbruchkriterium um bis zu 82\% reduziert werden. Unser neuartiger Ansatz soll Entwicklern helfen, die zeitintensive Ausführung zu verkürzen, ohne Abstriche bei der Resultatqualität zu machen.
PDF File Download
Export BibTeX