楠本研究室

業績一覧

ホーム業績一覧

コードクローン間の類似度に基づく無害なコードクローンの自動判定手法

コードクローン間の類似度に基づく無害なコードクローンの自動判定手法
電子情報通信学会技術報告, vol.118, no.471, pp.103-108 (2019)
概要: 互いに類似するコード片であるコードクローンの存在はソフトウェア保守に悪影響を与えるとされている.しかし全てのコードクローンが必ずしもソフトウェアの保守に有害であるとは限らない.そのためコードクローン検出器によって検出されたコードクローンに対して,コードクローンが有害か否かを判定する必要がある.この有害なコードクローンを判定する手法として,機械学習を用いる手法が既存研究で提案されている.これは開発者による有害か無害かの判定結果を学習することで,クローンが有害か否かを判定する手法である.しかし機械学習を用いるためには学習用のデータセットを用意しなくてはならない.既存手法では学習用データセットとして開発者やプロジェクトごとに有害か否かの判断結果を収集する必要があるため,準備にかかるコストが高いという問題がある.一方でクローンセットの中には開発者やプロジェクトによらず無害であることが自明なクローンセットが存在する.無害であることが自明なクローンセットは学習用データセットを構築する際に自動で無害と判断することで準備にかかるコストを削減できる.そこで本研究では,クローンセット間の類似度を可視化することでコードクローンを分類する手法を提案する.さらに提案手法はツールHarmfulCloneClassifierとして実装した.実験の結果3,993種類のクローンセットから145個の 言語固有のクローンと507個の プロジェクト固有のクローンを抽出することができ,抽出された言語固有のクローンは無害であることを確認した.
@inproceedings{土居真之2019a,
  author = {土居 真之 and 肥後 芳樹 and 楠本 真二},
  title = {コードクローン間の類似度に基づく無害なコードクローンの自動判定手法},
  booktitle = {電子情報通信学会技術報告},
  volume = {118},
  number = {471},
  pages = {103--108},
  year = {2019},
  month = {mar}
}