Brittany Jonson†, Yoonki Song†, Emerson Murphy-Hill†, Robert Bowdidge‡ T1: Why Don’t Software Developers Use Static Analysis Tools to Find Bugs? Brittany Jonson†, Yoonki Song†, Emerson Murphy-Hill†, Robert Bowdidge‡ † : North Carolina State University ‡ : Google 担当:山内寛己 株式会社アクセス 2013/7/9 T. Analysis Studies(T1)
概要 静的解析ツールはソフトウェア開発において,手動のインスペクションに比べ,安価で素早くバグの発見や欠陥の除去に寄与できる …にも関わらず,開発者にあまり活用されていない 静的解析ツールがなぜ活用されないか,開発者にインタビューし,その原因と改善策を調査した. 2013/7/9 T. Analysis Studies(T1)
Research Question RQ1: なぜ開発者はバグ発見のために静的解析ツールを使う/使わなくなったのか? 2013/7/9 T. Analysis Studies(T1)
インタビュー概要 インタビュー対象者:20人 内訳: インタビュー方法とその処理 16人は大企業の開発者 4人は著者の同じ大学の学生 (ただし,過去に企業での開発経験あり) それぞれの開発経験は3年から25年 インタビュー方法とその処理 RQに沿って,それぞれの方法で質問する “coding category” を定義して,回答それぞれをカテゴリー化(5+1種類)し,それに沿ってまとめる. 2013/7/9 T. Analysis Studies(T1)
静的ツールの何がいけない? [RQ1, RQ2] Tool Output: User Input/Customizability: False positives が True positives より多い User Input/Customizability: Warning の数が多すぎて,処理しきれない 多くのツールが思うようにカスタマイズできない Supporting Teamwork: 設定の共有化が難しい Result Understandability: 出力結果が何を意味するか理解できない Developer Workflows: コーディング作業に合ったツールの統合を して欲しい 2013/7/9 T. Analysis Studies(T1)
どう改善すればいいと思いますか? [RQ3] Tool Design: コードアシスト・表示機能 (IntelliJ IDEA の)Quick Fix 機能のような表示 Eclipse のリファクタリング機能を連想してもらえば コード修正前後でどのように変わるかプレビューやdiff ユーザの作業を邪魔しない,速いフィードバック バックグラウンドでコードの解析をする 特定のエラーやワーニングを〝あとで見る“ etc. 2013/7/9 T. Analysis Studies(T1)
RQに対応するカテゴリの定義それぞれに例文を挙げており,理解しやすい 所感 読みやすい,わかりやすい RQに対応するカテゴリの定義それぞれに例文を挙げており,理解しやすい 実験の設定を過去の論文を参考にうまく設定しているため,ツッコミにくい 結論がちょっとありきたりな印象 2013/7/9 T. Analysis Studies(T1)
Resources 実験に使われたリソース: http://www4.ncsu.edu/~bijohnso/ffsat.html インタビューのおよび,事前アンケートの質問内容や項目,この研究の発端となったペーパーが掲載さている. 動画あります: http://www.youtube.com/watch?v=kkUWq68FQAk 2013/7/9 T. Analysis Studies(T1)