Continuous integration (CI) emphasizes quick feedback to devel- opers. 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 variabilit...
Ensuring that software performance does not degrade after a code change is paramount. A potential so...
Performance is one of the important aspects of software quality. In fact, performance issues exist w...
An integrated release version (also known as a release candidate in software engineering) is produce...
Continuous integration (CI) emphasizes quick feedback to devel- opers. This is at odds with current ...
Degradation of software performance can become costly for companies and developers, yet it is hardly...
Executing software microbenchmarks, a form of small-scale performance tests predominantly used for l...
Software performance faults have severe consequences for users, developers, and companies. One way t...
Rigorous performance engineering traditionally assumes measur- ing on bare-metal environments to con...
Performance is a crucial non-functional requirement of many software systems. Despite the widespread...
Performance problems in applications should ideally be detected as soon as they occur, i.e., directl...
Software performance changes are costly and often hard to detect pre-release. Similar to software te...
Abstract The popularity of continuous integration (CI) is increasing as a result of market pressure ...
Software systems are an integral part of modern society. As we continue to harness software automati...
Regression testing comprises techniques which are applied during software evolution to uncover fault...
Microbenchmarking frameworks, such as Java\u27s Microbenchmark Harness (JMH), allow developers to wr...
Ensuring that software performance does not degrade after a code change is paramount. A potential so...
Performance is one of the important aspects of software quality. In fact, performance issues exist w...
An integrated release version (also known as a release candidate in software engineering) is produce...
Continuous integration (CI) emphasizes quick feedback to devel- opers. This is at odds with current ...
Degradation of software performance can become costly for companies and developers, yet it is hardly...
Executing software microbenchmarks, a form of small-scale performance tests predominantly used for l...
Software performance faults have severe consequences for users, developers, and companies. One way t...
Rigorous performance engineering traditionally assumes measur- ing on bare-metal environments to con...
Performance is a crucial non-functional requirement of many software systems. Despite the widespread...
Performance problems in applications should ideally be detected as soon as they occur, i.e., directl...
Software performance changes are costly and often hard to detect pre-release. Similar to software te...
Abstract The popularity of continuous integration (CI) is increasing as a result of market pressure ...
Software systems are an integral part of modern society. As we continue to harness software automati...
Regression testing comprises techniques which are applied during software evolution to uncover fault...
Microbenchmarking frameworks, such as Java\u27s Microbenchmark Harness (JMH), allow developers to wr...
Ensuring that software performance does not degrade after a code change is paramount. A potential so...
Performance is one of the important aspects of software quality. In fact, performance issues exist w...
An integrated release version (also known as a release candidate in software engineering) is produce...