2008 Fiscal Year Annual Research Report
デバッグ支援を目的とした類似コードの検出・分類手法
Project/Area Number |
08J01964
|
Research Institution | Osaka University |
Principal Investigator |
吉田 則裕 Osaka University, 大学院・情報科学研究科, 特別研究員(DC2)
|
Keywords | 類似コード / 欠陥(バゲ) / コードクローン / 類義語 / 識別子 / デバック支援 |
Research Abstract |
本年度は,類似コードの検出を行うシステムの実現,および現在使用されているシステムのソースコードを対象とした適用実験を行った.まず,ソースコード上の識別子の類似性に基づく類似コード検出法を実現した.適用実験として,本手法を実装した検出システムへの入力として欠陥を含むコードを与え,検出結果の分析を行った.その結果,類似した欠陥の多くが検出結果に含まれる場合もあるが,検出性能が低い場合もあることがわかった.検出性能が低くなる場合は,類似した役割を持つが,異なる名前がつけられた識別子が入力したコード片や検出対象のソースコードに含まれている場合であった. この結果を踏まえ,類義語の特定に基づく類似コード検出法を実現した.この手法では,入力するコードに含まれる識別子と一致する識別子を含むコードだけでなく,クエリに含まれる識別子の類義語を含むコードを検出結果に含めることができる.類義語の特定には,自然言語処理で用いられているDaganらの手法を用いた.適用実験を行うため,本手法を類似コード検出システムとして実装した.本手法を実装したシステムに対して,欠陥を含むコード片を与えたところ,類似した欠陥の多くを検出することができた.また,類義語の特定結果が,検出結果に与える影響を調査したところ,類似した役割を持つ識別子の名前を類義語として特定できた場合は,より検出性能が高いことがわかった.また,コードクローン検出ツールCCFinderとの比較を行ったところ,多くの場合,本手法を実装したシステムの方が有効であることを確認できた.
|
Research Products
(3 results)