# 性能変化検知の正確性 ## 定義 性能変化検知の正確性(change detection exactness)とは、観測性(observability)技術が異なるソフトウェアバージョン間の性能変化を、信頼性をもって検知できる度合いを指す。Reichelt & Skarbalius(ICPE Companion '26、[[@2026__ICPE__Benchmarking Change Detection Exactness and Overhead of Instrumentation and Sampling]])は、この概念を測定の精度(accuracy: 個々の測定値が真値にどれだけ近いか)から明確に区別している。運用中のソフトウェアでは、あるメソッドが 1 回の呼び出しで 5 μs か 10 μs かという絶対値の精度はしばしば重要ではなく、バージョン間で実行時間に変化があったかどうかを検知できることの方が重要だからである。 この正確性は測定手法(サンプリング・計装)の精度だけでなく、測定対象の値の分布の種類や標準偏差にも依存する。同じ絶対的な性能変化(例えば 5 μs → 10 μs)でも、相対標準偏差が 1 % なら容易に検知できるが 80 % なら検知が困難になる。同論文は、変化検知の正確性を F1-score(偽陽性率・偽陰性率がともに 2 % となる 98 % 閾値)で定量化し、コールツリーが深い(=対象メソッド数が多い)構成ほど、また計装よりサンプリングの方が、より少ない VM 再起動数で高い F1-score に到達できることを示した。 ## 未解決の問い - 本概念は現時点で単一ソースに基づく。実アプリケーション(合成ベンチマークでなく)における性能変化検知の正確性は、I/O・ネイティブコード・スレッド同期を含む場合にどう変わるか。 - 変化検知の正確性は測定対象メソッドの選択戦略(静的解析によるメソッド事前選択など)によってどこまで改善できるか。計装の高オーバーヘッドを維持したまま正確性を保つトレードオフの形状は明らかでない。 - 測定精度(accuracy)と変化検知の正確性(exactness)は、どのような条件下で乖離するか(高精度だが低い変化検知正確性、あるいはその逆の具体例)。 ## 関連 - ソース: [[@2026__ICPE__Benchmarking Change Detection Exactness and Overhead of Instrumentation and Sampling]] - 概念: [[トレーシングオーバーヘッド]] / [[オブザーバビリティ]] ## 出典 - [[@2026__ICPE__Benchmarking Change Detection Exactness and Overhead of Instrumentation and Sampling]] — 定義・F1-score による定量化・実験結果すべての出典。