講演・口頭発表等

2017年12月10日

識別子の共起関係に基づく類似コード検索法の提案と欠陥検出への適用

電子情報通信学会技術研究報告. SS
  • 服部 剛之
  • ,
  • 吉田 則裕
  • ,
  • 早瀬 康裕
  • ,
  • 肥後 芳樹
  • ,
  • 松下 誠
  • ,
  • 楠本 真二
  • ,
  • 井上 克郎

記述言語
日本語
会議種別

ソフトウェアの保守を行う際に,複数箇所に同様の修正を加える必要が生じることがある.例えば,ソースコード中にある欠陥が見つかった際は,他の箇所に存在する同様の欠陥を修正しなければならない.このような場合,grep等を使ったキーワード検索やコードクローン検出法を用いて,修正を検討すべき箇所を検索する方法が考えられる.しかし,これらの方法は,キーワードをクエリ(検索質問)として考案する必要があるという問題点や,字句解析後のトークン列が連続して一致もしくは類似する箇所でなければ,同様の修正を検討するべき箇所として提示できないという問題点がある.本稿では,これらの問題点を解決するために,クエリとしてコード片(ソースコードの一部)を与えると識別子の共起関係に基づいて類似コードを検索する手法を提案する.提案手法は,まず修正を検討すべきコード片を1つ選択しクエリとして与えると,そのコード片から特徴語(頻出する語)を自動的に抽出する.次に,抽出した特徴語の含むコード片をソフトウェア中から検出する.提案手法は2つのソフトウェアに含まれていた欠陥の多くを提示できることを確認した.