An editor has determined that sufficient sources exist to establish the subject's notability. (January 2025) |
デルタデバッグとは、仮説・試行・結果のループという科学的なアプローチを用いてプログラムのデバッグを自動化する手法です。この手法は、1999年にザールラント大学のアンドレアス・ツェラーによって初めて開発されました。[1]
デルタデバッグアルゴリズムは、失敗の原因となる状況を体系的に絞り込み、最小限の条件が残るまで、自動的に失敗の原因を特定します。例えば、探しているバグを発生させるテストケースを用意できれば、それをデルタデバッグアルゴリズムに渡すことができます。すると、バグの再現に不要なコード行が削除され、最終的に1-最小のプログラムが見つかるまで処理されます。
デルタ デバッグは、障害を引き起こすプログラム入力 (Web ブラウザーを失敗させる HTML ページなど)、障害を引き起こすユーザー操作 (プログラムをクラッシュさせるキーストロークなど)、または障害を引き起こすプログラム コードの変更 (回帰テストの失敗後など) を分離するために適用されています。
デルタ デバッグからヒントを得たソフトウェア開発ツールには、リビジョン コントロールシステムのbisect コマンド(git-bisect、svn-bisect、hg-bisect など) が含まれます。これらのツールは、プログラムのコードに対して作業するのではなく、問題のある変更が見つかるまでさまざまなバージョンを比較することで、コード履歴に対してデルタ デバッグ手法を適用します。
参照
参考文献
- ^ Zeller, Andreas (1999). 「昨日はプログラムが動いたのに、今日は動かない。なぜ?」.ソフトウェア工学 — ESEC/FSE '99 . コンピュータサイエンス講義ノート. 第1687巻. Springer. pp. 253– 267. doi :10.1007/3-540-48166-4_16. ISBN 978-3-540-66538-0。
外部リンク
- デルタデバッグプロジェクト