ソフトウェア工学研究の日々

ソフトウェア工学の学術研究を紹介しています。ここではソースコードなどのプロダクトが研究の主役です。

ソースコードの類似度計測ツールの利用例を Jupyter Notebook として公開しました

Google Colaboratory を使って、ソフトウェア工学研究室で開発しているソースコード類似度計測ツールの利用方法を Jupyter Notebook 化してみました(シェルコマンドを並べているだけなので Python 要素は皆無ですが)。

grep 的に類似ソースコードの断片を検索する NCDSearch の利用方法がこちら

ファイル単位で類似度を計算するためのハッシュ値を求めるツールの利用方法がこちら

どちらも Notebook 内部に実行例が保存されているので、リンク先を見に行くだけで Google のホスト上での実行結果を確認することができます。また、Jupyter Notebook 的な良さとして、その場でオプションを書き換えて実行しなおすことができ、結果の変化もすぐに確認することができます。

ソースコードの類似度計測はコードクローン検出という名前でも知られる技術の1つですが、具体的にどんな入力からどんな出力を出すものなのか、ちょっと結果を見てみたいという人はぜひご覧ください。各 Notebook とも、末尾には対応する論文や資料へのリンクも用意してあります。