研究課題/領域番号 |
24650011
|
研究種目 |
挑戦的萌芽研究
|
研究機関 | 大阪大学 |
研究代表者 |
肥後 芳樹 大阪大学, 情報科学研究科, 助教 (70452414)
|
研究期間 (年度) |
2012-04-01 – 2015-03-31
|
キーワード | ソースコード解析 / ソフトウェア進化 / ミューテーション |
研究概要 |
今年度は,ソースコード中で発生している修正漏れを自動的に検出する手法を提案した.提案手法は過去の開発履歴をマイニングし,どのような変更が行われたのかを細粒度で抽出する.抽出した変更は,修正前のコード片と修正後のコード片の情報を持っている.この情報を用いて,提案手法は過去の修正の傾向を分析する.そして,修正漏れ検出対象のソースコードに対して,抽出した変更の修正前コード片と類似した箇所を特定し,その部分が修正後コード片に変更されるべき箇所として開発者に提示する. 提案した手法は次の4つの特徴を持つ.1.字句単位の修正漏れ(変数やリテラルの置換漏れ)だけではなく,文単位の修正漏れ(文の追加・削除漏れ)も検出可能である.2.修正漏れのコード片がある程度以上の大きさの重複コードである必要がない.3.ソースコードの深い解析を必要とせず,複数のプログラミング言語への展開が容易である.4.スケーラビリィが高く,数百万行規模のソフトウェアであっても数十分程度で解析可能 提案手法をツールとして実装し,HTTPD とFreeBSD に適用し,次の結果を得た.A. 多くのリビジョンにおいて修正漏れが存在していること,および,それらの多くは後に修正が加えられ,修正漏れではなくなることがわかった.B.1 つのバージョンに着目した場合に,それまでの開発履歴から得た学習データを用いて多数の修正漏れを自動的に検出できた.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
平成24年度は,当初掲げた計画の内容を概ね達成できた.
|
今後の研究の推進方策 |
今後は,抽出した変更間での関係を得る手法を考案する.例えば,変更Aと変更Bは同時に起こりやすいという共起関係や,変更Cの後には変更Dが起こりやすいといった依存関係が考えられる.これらの関係を得ることにより,各変更がどのように影響しあっているのかが明らかになるため,今後の進化の予測が可能になると考えられる.
|
次年度の研究費の使用計画 |
今年度は,変更間の関係を得るためのプロトタイプを実装し,実験を行う.そのため,大学院生に実装補助を依頼する予定です.よって実装補助の謝金を支払う予定である.また,昨年度の研究成果を論文にまとめる,および国際会議での発表を行う等を計画しているため,それに関する成果発表旅費,論文別刷り代等も必要になる.
|