AI-driven Java Performance Testing: Balancing Result Quality with Testing Time

要約

パフォーマンス テストは、ソフトウェア システムの効率の問題を明らかにすることを目的としています。
パフォーマンス テストを効果的かつ実用的にするには、結果の品質とテスト時間の間で合理的なトレードオフを達成する必要があります。
これは、ジャストインタイム コンパイルによりソフトウェアが実行のウォームアップ フェーズを経る Java コンテキストでは特に困難になります。
このフェーズでは、パフォーマンス測定値が大幅に変動するため、パフォーマンス テスト結果の品質に悪影響を及ぼす可能性があります。
ただし、これらのアプローチでは、ウォームアップ段階の次善の推定値が得られることが多く、その結果、ウォームアップ反復が不十分または過剰になり、結果の品質が低下したり、テスト時間が増加したりする可能性があります。
この問題に適切に対処する方法については、まだコンセンサスが得られていません。
ここでは、実行時にウォームアップ反復を動的に停止する AI ベースのフレームワークを提案および研究します。
具体的には、私たちのフレームワークは、時系列分類 (TSC) 用の AI の最近の進歩を活用して、テスト実行中のウォームアップ フェーズの終了を予測します。
JMH マイクロベンチマークの実行から得られた 50 万の測定セグメントで 3 つの異なる TSC モデルをトレーニングすることで実験を実施します。
私たちのフレームワークは、最先端の実践方法と最先端の方法によって提供されるウォームアップ推定の精度を大幅に向上させることがわかりました。
この高い推定精度により、結果の品質またはマイクロベンチマークのテスト時間のいずれかが最大 +35.3% 向上します。
私たちの調査では、AI を統合してウォームアップ フェーズの終了を動的に推定することで、Java パフォーマンス テストの費用対効果を高めることができることが強調されています。

要約(オリジナル)

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.

arxiv情報

著者 Luca Traini,Federico Di Menna,Vittorio Cortellessa
発行日 2024-08-09 14:41:32+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.LG, cs.PF, cs.SE パーマリンク