Abstract
AbstractRegression testing comprises techniques which are applied during software evolution to uncover faults effectively and efficiently. While regression testing is widely studied for functional tests, performance regression testing, e.g., with software microbenchmarks, is hardly investigated. Applying test case prioritization (TCP), a regression testing technique, to software microbenchmarks may help capturing large performance regressions sooner upon new versions. This may especially be beneficial for microbenchmark suites, because they take considerably longer to execute than unit test suites. However, it is unclear whether traditional unit testing TCP techniques work equally well for software microbenchmarks. In this paper, we empirically study coverage-based TCP techniques, employing total and additional greedy strategies, applied to software microbenchmarks along multiple parameterization dimensions, leading to 54 unique technique instantiations. We find that TCP techniques have a mean APFD-P (average percentage of fault-detection on performance) effectiveness between 0.54 and 0.71 and are able to capture the three largest performance changes after executing 29% to 66% of the whole microbenchmark suite. Our efficiency analysis reveals that the runtime overhead of TCP varies considerably depending on the exact parameterization. The most effective technique has an overhead of 11% of the total microbenchmark suite execution time, making TCP a viable option for performance regression testing. The results demonstrate that the total strategy is superior to the additional strategy. Finally, dynamic-coverage techniques should be favored over static-coverage techniques due to their acceptable analysis overhead; however, in settings where the time for prioritzation is limited, static-coverage techniques provide an attractive alternative.
Funder
Vetenskapsrådet
Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung
Universität Zürich
Publisher
Springer Science and Business Media LLC
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Evaluating Search-Based Software Microbenchmark Prioritization;IEEE Transactions on Software Engineering;2024-07
2. An Empirical Study on Code Coverage of Performance Testing;Proceedings of the 28th International Conference on Evaluation and Assessment in Software Engineering;2024-06-18
3. An exploratory study of history-based test case prioritization techniques on different datasets;Baghdad Science Journal;2024-02-25
4. The Early Microbenchmark Catches the Bug -- Studying Performance Issues Using Micro- and Application Benchmarks;Proceedings of the IEEE/ACM 16th International Conference on Utility and Cloud Computing;2023-12-04
5. GraalVM Compiler Benchmark Results Dataset (Data Artifact);Companion of the 2023 ACM/SPEC International Conference on Performance Engineering;2023-04-15