2013 Fiscal Year Annual Research Report
危険性の高いコードクローンに着目したソフトウェアの保守性向上手法
Project/Area Number |
13J01382
|
Research Institution | Osaka University |
Principal Investigator |
堀田 圭佑 大阪大学, 情報科学研究科, 特別研究員(PD)
|
Keywords | ソフトウェア保守 / コードクローン / ソフトウェアリポジトリマイニング / 機械学習 |
Research Abstract |
当該年度は当初の研究実施計画の通り, 『開発履歴情報を用いたコードクローンの分析』に関する研究を中心に行った. まず, 既存の分析手法に存在する課題点を改善した新たな分析手法を考案し, ツールとして実装した. さらに, 研究を進める上で, コードクローンの検出に要するコストをいかに抑えるかが重要な課題となるため, 既存のコードクローン検出ツールよりも高速なコードクローン検出ツールの開発に取り組んだ. このツールはソースコードに対する簡易的な解析のみを用いる方法を採用しているため, 検出速度が向上する反面, 精度が低下するおそれがある. そこで, 実装した簡易的な検出ツールの精度を従来ツールと比較する実験を行い, 今回実装した簡易的なツールが従来ツールに劣らない十分な精度でコードクローンの検出を行うことができていることを確認した. これらの研究は, 本研究課題を推進する上で最も重要な基盤的役割を果たす技術に関する研究であるため, これらの研究の意義は大きい. これらの研究成果を踏まえ, コードクローンの履歴情報を分析する調査を行い, コードクローンが生成直後に修iEされやすい傾向にあることを明らかにした. この結果は, 対処すべきコードクローンを特定する上で非常に重要なヒントとなると考えている. さらに実施計画に示した通り, 過去のコードクローンの履歴情報に対して機械学習のアルゴリズムを適用し, 現存するコードクローンが将来的にソフトウェア開発を阻害する危険なものとなる可能性がどの程度なのかを予測する手法に関する研究も進めている. これらの研究成果を論文にまとめ, 学術論文誌に採択されるとともに, 国内外の学会で口頭発表を行った.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
研究実施計画に示した2つの大きな研究内容について研究を進めることができており, その成果を学術論文誌や国内外の学会での発表などを通じて公表することができているため.
|
Strategy for Future Research Activity |
次年度も引き続き研究実施計画に沿って研究を推進する, 次年度は『大幅な修正が加えられたコードクローンの特定』に取り組む予定である. コードクローンはコピーアンドペーストによって主に生成されると考えられているが, コピーアンドペースト後にコピー先にのみ修正が加えられた場合, コピー元とコピー先をコードクローンとして検出することは難しい. 従って, コピー元に不具合が潜んでいた場合, コピー先への修正が忘れられてしまう危険性が高い. 過去の開発履歴情報をコードクローン検出に取り入れることで, コピー先に大きな修正が入った場合でもコードクローンとして検出することが可能になると期待できる. 次年度は, このアイデアに関する研究を進める予定である.
|
Research Products
(7 results)