# Practitioners' Expectations on Automated Fault Localization > [!abstract] 概要(abstract の日本語訳) > ソフトウェアエンジニアリングの実務者は、デバッグに多大な時間と労力を費やすことが多い。この重要な作業を支援するため、数百本の論文がさまざまな障害箇所特定技術を提案してきた。障害箇所特定は、症状(プログラムの失敗など)が与えられたとき、欠陥の位置を実務者が発見できるよう支援する。これらの技術は、さまざまな利用シナリオを想定し、さまざまな規模のプログラムで評価されており、達成される成功度もさまざまで、その尺度の取り方も異なる。残念ながら、実務者がこの研究系譜を評価しているかどうかは不明だ。このギャップを埋めるため、われわれは 5 大陸 30 か国以上の 386 名の実務者に対してアンケート調査を実施し、障害箇所特定研究への期待を調査した。特に、実務者が障害箇所特定技術を採用するか否かに影響する複数の要因を調査した。次に、過去 5 年間(2011–2015 年)に ICSE、FSE、ESEC-FSE、ISSTA、TSE、TOSEM に掲載された障害箇所特定技術の論文を文献レビューし、実務者のニーズと現在の研究状況を比較した。この比較から、実務者にとって意味のある障害箇所特定技術を開発するために研究者が力を注ぐべき方向性を明らかにする。 ## 論文情報 - **タイトル**: Practitioners' Expectations on Automated Fault Localization - **著者**: Pavneet Singh Kochhar¹, [[Xin Xia]]², [[David Lo]]¹, [[Shanping Li]]² - **所属**: ¹Singapore Management University(School of Information Systems), ²Zhejiang University(College of Computer Science and Technology) - **媒体**: ISSTA 2016 (ACM International Symposium on Software Testing and Analysis), Saarbrücken, Germany, July 18–20, 2016 - **DOI**: https://doi.org/10.1145/2931037.2931051 - **調査フォーム公開**: https://github.com/smusis/automated-debugging ## 概要 30 か国以上の実務者 386 名を対象とした大規模アンケート調査と文献レビューを組み合わせ、自動化された障害箇所特定(Fault Localization, FL)技術に対する実務者の期待と採用閾値を体系的に明らかにした実証研究である。調査は採用意欲・デバッグデータの可用性・粒度・成功基準・成功率・スケーラビリティ・実行効率・判断根拠・IDE 統合の 9 つの研究課題(RQ)を設定した。文献レビューでは 2011–2015 年の上位 6 会議・論文誌から 15 本の FL 論文を分析し、実務者の採用閾値と現在の研究水準のギャップを定量化した。 ## 問題設定 - **入力**: デバッグデータ(テストケース・バグレポート・仕様等)と症状(テスト失敗・クラッシュ等) - **出力**: 怪しいプログラム要素の順位付きリスト - **問い**: 実務者は FL 技術を採用するか、採用するための最低閾値はどこか、現在の研究水準はそれを満たしているか - **前提**: 実務者は研究プロトタイプを実際に使った経験がない場合が多い。したがって本調査は「採用意欲」の推定であり、実際の採用率ではない(§5.2 Willingness to Adopt vs. Actual Adoption) ## 調査方法 ### 実務者アンケート - 電子メール経由でマイクロソフト・Google・Cisco・LinkedIn・Huawei・Infosys 等の業界連絡先と GitHub 上のオープンソース開発者 3,300 名に発信 - 403 件の回答から、職種・英語力・FL 理解度でフィルタリングし最終的に 386 件を分析 - 回答者の役割: 開発者 80.83%・テスト担当 30.05%・プロジェクト管理 17.10%(複数回答可) - 経験: 低(下位 25%)・中(中間 50%)・高(上位 25%)の 3 群に分類 - 中国語訳も用意し、中国在住回答者の理解を担保 **Figure 1: 回答者の居住国分布(33 か国、5 大陸)** ![[_attachments/issta16/fig01-survey-countries.png]] (Figure 1. アンケート回答者の居住国。濃い色の国から回答が得られた。中国・米国が最多。Source: Adapted from Figure 1.) ### 文献レビュー - ICSE 417 本・FSE/ESEC-FSE 255 本・ISSTA 169 本・TSE 350 本・TOSEM 137 本を対象にタイトル・abstract を読み、FL 技術を提案する論文を 15 本選定 - 各論文の能力をデバッグデータ・粒度・成功率・スケール・実行時間・根拠提示・IDE 統合の 7 因子で分析 - 実務者の採用閾値と比較してギャップを特定(§4, Table 1) ## 調査結果(RQ1〜RQ9) ### RQ1: FL 研究の重要性 全回答者の 97% 以上が FL を「Essential」または「Worthwhile」と評価。「Unimportant」「Unwise」は 10% 未満。テスター群が開発者・PM より若干高い重要度認識を示したが Fisher's exact test で有意差なし(p=0.265)。経験が高まるにつれ「Essential」割合が減少し、Spearman 相関で有意な負の相関(ρ=−0.14、p=0.007)。 **Figure 2: 人口統計別の FL 研究重要度評価** ![[_attachments/issta16/fig02-importance-ratings.png]] (Figure 2. 各人口統計グループの重要度評価。ExpHigh では Essential 割合が最低(約 20%)。Source: Adapted from Figure 2.) ### RQ2: デバッグデータの可用性 **Figure 3: デバッグデータの可用性** ![[_attachments/issta16/fig03-debugging-data-availability.png]] (Figure 3. 数学的仕様書(Math-Spec)は「めったに/まったく使えない」が 60% 近い。テストケース(One-Test/Multi-Tests)・バグレポート(Text-Desc)は 70〜80% が「常時/時々使える」。Source: Adapted from Figure 3.) - 数学的仕様書は「めったに/まったく使えない」が大半。研究論文がよく用いる仕様ベースのデータが現場では乏しい - テキスト仕様書は「常時/時々」が約 70% - テストケースと成功テストケースは「常時/時々」が 70% 超 - バグレポート(テキスト説明)は「常時/時々」が 80% 近い ### RQ3: 好ましい粒度 **Figure 4: 好ましい粒度レベル** ![[_attachments/issta16/fig04-preferred-granularity.png]] (Figure 4. メソッド 51.81%・ステートメント 50.00%・基本ブロック 44.30%・クラス 26.42%・コンポーネント 20.21%。Source: Adapted from Figure 4.) メソッド・ステートメント・基本ブロックの上位 3 粒度が拮抗。クラス・コンポーネントは「粗すぎる」と回答した実務者が多い。 ### RQ4: 最低成功基準 **Figure 5: 最低成功基準** ![[_attachments/issta16/fig05-success-criterion.png]] (Figure 5. 73.58% が Top-5 を最低基準とする。Top-10 以内を許容するのは約 98%。Source: Adapted from Figure 5.) - Top-1 のみを要求する回答者は 9.43% - 73.58% が怪しい要素リストの先頭 5 件以内に欠陥が入ることを要求 - 98% 近くが Top-10 超過を許容しない ### RQ5: 信頼性(Trustworthiness) **Figure 6: 最低成功率と満足率** ![[_attachments/issta16/fig06-success-rate.png]] (Figure 6. 満足率 50% には成功率 50%、75% には 75%、90% には 90% が必要。Source: Adapted from Figure 6.) - 成功率 5% では約 2% の回答者しか満足しない - 満足率 50%・75%・90% を達成するには、それぞれ成功率 50%・75%・90% が必要 ### RQ6: スケーラビリティ **Figure 7: 最低プログラム規模と満足率** ![[_attachments/issta16/fig07-scalability.png]] (Figure 7. 満足率 50% には 10kLOC、75% には 100kLOC、90% には 1M LOC のプログラムへの対応が必要。Source: Adapted from Figure 7.) ### RQ7: 実行効率 **Figure 8: 最大実行時間と満足率** ![[_attachments/issta16/fig08-efficiency.png]] (Figure 8. 満足率 90% には 1 秒未満、50% には 1 分未満が必要。1 時間以上を許容する回答者は 9% 未満。Source: Adapted from Figure 8.) - 1 時間超を許容するのは 9% 未満 - 満足率 50% 達成には 1 分以内の実行が必要。90% 超には 1 秒以内 ### RQ8: 採用意向 信頼性・スケール・実行効率が揃った FL 技術を採用する意欲を持つ回答者は約 98%。採用しない理由は「変化への抵抗」「追加情報が必要」「実現可能性への懐疑」の 3 群。 ### RQ9: 追加要因(判断根拠・IDE 統合) **Figure 9: 判断根拠・IDE 統合に関する合意** ![[_attachments/issta16/fig09-rationale-ide.png]] (Figure 9. Rationale(判断根拠)は 85%+ が Strongly Agree/Agree。IDE 統合は 65% 未満が必要と評価。Source: Adapted from Figure 9.) - **判断根拠**: 85% 超が提示を必要と考える。「根拠なしでも採用する」に Disagree/Strongly Disagree が 15% 超、Neutral が 40% 超 - **IDE 統合**: 統合を必須と考えるのは 65% 未満だが、統合がなければ採用意欲が下がる(Disagree/Strongly Disagree が 5% 超、Neutral 約 40%) 不採用の主な理由は「偽陽性への不信(根拠なしでは偽陽性と見分けられない)」「ドメイン知識でフィルタするために根拠が必要」「IDE 環境からの離脱によるワークフロー摩擦」。 ## 採用閾値の整理(まとめ) | 因子 | 50% 満足率 | 75% 満足率 | 90% 満足率 | |---|---|---|---| | 成功基準 | Top-5(73.58%) | — | — | | 信頼性(成功率) | 50% | 75% | 90% | | スケール(LOC) | 10,000 | 100,000 | 1,000,000 | | 実行時間 | < 1 分 | < 1 分 | < 1 秒 | | 判断根拠 | 必要(85%+) | — | — | | IDE 統合 | 望ましい(65%) | — | — | ## 文献レビュー: 現在の研究水準(RQ10) Table 1(§4)で 15 本の FL 論文を 7 因子で評価した結果: - **デバッグデータ**: ほとんどがテストケースまたはバグレポートを使用。仕様書ベースの論文は皆無 - **粒度**: メソッドレベルは 2 本のみ、ステートメントレベルが主流。クラスレベルの論文はほぼすべての回答者が「粗すぎる」と回答する粒度 - **信頼性**: 満足率 50% を満たすのは 5 本のみ(うち多くはバグレポートベースでクラスレベル粒度)。**満足率 75% 以上を達成した論文は皆無** - **スケール**: 満足率 75% 達成論文は 6 本、90% 達成は 2 本 - **実行時間**: 満足率 90% 達成論文は 5 本 - **判断根拠**: 提供しているのは 2 本のみ(Sun and Khoo 2013; Mariani et al. 2011)、いずれもグラフ構造による「バグシグネチャ」の形で、ユーザースタディは未実施 - **IDE 統合**: 査読論文ベースで IDE 統合を達成した論文は**皆無** ## 考察・強み・弱点 ### 強み - 実務者 386 名という大規模サンプルで採用閾値を定量化した最初期の研究 - 開発者・テスター・PM・経験レベル・オープンソース/プロ別のサブグループ分析 - 文献レビューとアンケートを組み合わせることで、研究-実務のギャップを可視化 - 9 つの採用因子を体系的に調査し、今後の研究の優先度付けを可能にした ### 弱点・限界 - **採用意欲 ≠ 実際の採用**: 個人の態度だけでなく組織サポート・社会的影響が実採用を左右する - **「全バグ種別の全実務者」を対象**: 並行バグ・ドメイン固有バグの期待値は異なる可能性がある - **回答ノイズ**: 英語力・FL 理解度でフィルタリングしたが完全には排除不可 - **汎化可能性**: 英語・中国語話者に限定されており、他言語圏は代表されていない - **2016 年時点の調査**: LLM ベースの FL や AI 支援デバッグが普及する前であり、現代の実務者の期待値は変化している可能性がある ## 関連 - [[Xin Xia]] / [[David Lo]] / [[Pavneet Singh Kochhar]] / [[Shanping Li]] - [[Singapore Management University]] / [[Zhejiang University]] - 概念: [[Fault Localization]] / [[RCA評価設計]] ## 出典 - PDF: `.raw/papers/issta16.pdf` - ISSTA 2016 予稿集 pp.165–176