軽量な類似度計算によるプロジェクト間のソースファイル集合の再利用検出

伊藤 薫  石尾 隆  神田 哲也  井上 克郎  

誌名
電子情報通信学会論文誌 D   Vol.J103-D   No.7   pp.542-554
発行日: 2020/07/01
Online ISSN: 1881-0225
DOI: 10.14923/transinfj.2019JDP7077
論文種別: 論文
専門分野: ソフトウェア工学
キーワード: 
b-bit MinHash,  オープンソースソフトウェア,  再利用分析,  ソフトウェアリポジトリマイニング,  

本文: PDF(812.3KB)>>
論文を購入




あらまし: 
ソフトウェア開発の現場において,オープンソースソフトウェアのソースコードをコピーして再利用することが一般的に行われている.ソフトウェアの再利用は,独自に開発した場合と比べて品質を向上させるが,プロジェクトの開発期間が長くなるにつれ,どこから,どのバージョンをコピーしたのかという情報が失われてしまうことがある.そこで本研究では,分析対象ソフトウェアのソースファイルと再利用したライブラリの版管理システムのリポジトリの内容を比較し,再利用したバージョンを自動的に検出する手法を提案する.具体的には,局所性鋭敏ハッシュ(LSH)を用いた高速なファイル単位での類似度計算を導入し,ファイル単位の類似度の合計をライブラリのバージョン単位での類似度とし,最も類似度の高いバージョンを再利用元として検出する.再利用情報が記録されているオープンソースソフトウェアをデータセットとして提案手法を適用した結果,99.3%の割合で利用しているライブラリのバージョンを正しく検出することを確認した.