AI-driven Java Performance Testing: Balancing Result Quality with Testing Time
Not on the map. Why?
Abstract (arXiv)
Performance testing aims at uncovering efficiency issues of software systems. In order to be both effective and practical, the design of a performance test must achieve a reasonable trade-off between result quality and testing time. This becomes particularly challenging in Java context, where the software undergoes a warm-up phase of execution, due to just-in-time compilation. During this phase, performance measurements are subject to severe fluctuations, which may adversely affect quality of performance test results. However, these approaches often provide suboptimal estimates of the warm-up phase, resulting in either insufficient or excessive warm-up iterations, which may degrade result quality or increase testing time. There is still a lack of consensus on how to properly address this problem. Here, we propose and study an AI-based framework to dynamically halt warm-up iterations at runtime. Specifically, our framework leverages recent advances in AI for Time Series Classification (TSC) to predict the end of the warm-up phase during test execution. We conduct experiments by training three different TSC models on half a million of measurement segments obtained from JMH microbenchmark executions. We find that our framework significantly improves the accuracy of the warm-up estimates provided by state-of-practice and state-of-the-art methods. This higher estimation accuracy results in a net improvement in either result quality or testing time for up to +35.3% of the microbenchmarks. Our study highlights that integrating AI to dynamically estimate the end of the warm-up phase can enhance the cost-effectiveness of Java performance testing.
Key facts. Cited by 2 papers in the map (data through 14 Oct 2026). Builds on 19 of its 63 references that are in the map. First posted on arXiv 9 Aug 2024.
Builds on
19 of 63 references.
References · 19
- 2014Adam: A Method for Stochastic Optimizationcited by 37,240
- 2015Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shiftcited by 7,005
- 2013Network In Networkcited by 605
- 2018Deep learning for time series classification: a reviewcited by 576
- 2016Time Series Classification from Scratch with Deep Neural Networks: A Strong Baselinecited by 360
- 2019ROCKET: Exceptionally fast and accurate time series classification using random convolutional kernelscited by 339
- 2018Scalable and accurate deep learning for electronic health recordscited by 280
- 2020Deep Learning for Sensor-based Human Activity Recognition: Overview, Challenges and Opportunitiescited by 126
- 2023Bake off redux: a review and experimental evaluation of recent time series classification algorithmscited by 101
- 2016Multi-Scale Convolutional Neural Networks for Time Series Classificationcited by 99
- 2021MultiRocket: Multiple pooling operators and transformations for fast and effective time series classificationcited by 90
- 2023Deep Learning for Time Series Classification and Extrinsic Regression: A Current Surveycited by 68
7 more
- 2021Multi-Objectivizing Software Configuration Tuning (for a single performance concern)cited by 28
- 2014What Teachers Should Know about the Bootstrap: Resampling in the Undergraduate Statistics Curriculumcited by 15
- 2020Applications of shapelet transform to time series classification of earthquake, wind and wave datacited by 8
- 2016Virtual Machine Warmup Blows Hot and Coldcited by 4
- 2020Quantifying Performance Changes with Effect Size Confidence Intervalscited by 2
- 2022Towards effective assessment of steady state performance in Java software: Are we there yet?cited by 2
- 2022Evaluating Search-Based Software Microbenchmark Prioritizationcited by 1
Built on by
Citing papers per year: 2024: 1; 2025: 1.
2 papers.