An Evaluation of Open-Source Software Microbenchmark Suites for Continuous Performance Assessment
Paper i proceeding, 2018

Continuous integration (CI) emphasizes quick feedback to developers. This is at odds with current practice of performance testing, which predominantely focuses on long-running tests against entire systems in production-like environments. Alternatively, software microbenchmarking attempts to establish a performance baseline for small code fragments in short time. This paper investigates the quality of microbenchmark suites with a focus on suitability to deliver quick performance feedback and CI integration. We study ten open-source libraries written in Java and Go with benchmark suite sizes ranging from 16 to 983 tests, and runtimes between 11 minutes and 8.75 hours. We show that our study subjects include benchmarks with result variability of 50% or higher, indicating that not all benchmarks are useful for reliable discovery of slowdowns. We further artificially inject actual slowdowns into public API methods of the study subjects and test whether test suites are able to discover them. We introduce a performance-test quality metric called the API benchmarking score (ABS). ABS represents a benchmark suite's ability to find slowdowns among a set of defined core API methods. Resulting benchmarking scores (i.e., fraction of discovered slowdowns) vary between 10% and 100% for the study subjects. This paper's methodology and results can be used to (1) assess the quality of existing microbenchmark suites, (2) select a set of tests to be run as part of CI, and (3) suggest or generate benchmarks for currently untested parts of an API.

continuous integration

empirical study

Java

microbenchmarking

software performance testing

Go

Författare

Christoph Laaber

Universität Zürich

Philipp Leitner

Chalmers, Data- och informationsteknik, Software Engineering

Proceedings - International Conference on Software Engineering

02705257 (ISSN)

119-130
978-145035716-6 (ISBN)

15th ACM/IEEE International Conference on Mining Software Repositories, MSR 2018
Gothenburg, Sweden,

Ämneskategorier

Datorteknik

Programvaruteknik

Datavetenskap (datalogi)

Styrkeområden

Informations- och kommunikationsteknik

DOI

10.1145/3196398.3196407

Mer information

Senast uppdaterat

2022-05-31