Method Clone Detection Using Text Mining Techniques

Jazyk: japonština
Rok vydání: 2013
Předmět:
Zdroj: 情報処理学会研究報告. ソフトウェア工学研究会報告. (28):1-8
Popis: ソフトウェア保守における問題の 1 つとしてコードクローン (ソースコード中に存在する同一または類似した部分を持つコード片) が指摘されている.コードクローンを検出し,共通する処理に対して親クラスへの引上げやライブラリ化といった集約を行うことによって,ソフトウェアの保守性や可読性を向上させることが可能となる.これまでの研究において様々なコードクローン検出手法が提案されてきたが,多くの手法がプログラムの構造的な類似性に着目しており,意味的に類似したコードクローンを検出することを目的とした手法は少ない.また,プログラムの意味的な類似性に着目した手法では,検出時間に膨大な時間がかかるという問題点がある.そこで本研究では,テキストマイニング技術を応用したメソッドクローン (メソッド単位のコードクローン) を検出する手法を提案する.テキストマイニングは文字列を対象としたデータマイニングのことであり,自然言語で書かれた文書の分類などに利用される.本手法ではこの技術を利用し,ソースコード中の識別子や予約語に利用される単語に対して重要度の重み付けを行うことによって,各メソッドの特徴ベクトルを計算する.そして,特徴ベクトル間の類似度を求めることによってメソッドクローンの検出を行う.本手法によって,類似した処理を行うメソッドを高速に検出することが可能であると考えられる.
Code clone (i.e., code fragment that has identical or similar fragment in source code) is one of the major problems for software maintenance. Software developers can increase the maintainability and the readability of source code by merging them (e.g., create library, pull up method). At present, a lot of techniques have been done on the detection of code clones in source code. However, most of them focus on structural similarities. Moreover, the detection techniques that focus on semantic similarities lack the scalability for large-scale source code. In this study, we propose a technique to detect method clones using text mining techniques (i.e., data mining technique intended for natural language text). In our approach, we generate feature vectors for each method by weighting words in identifier and syntactic keyword based on the important degree of them. And then, we detect method clones based on the similarity among the feature vectors. We believe that our technique can perform the scalable detection of similar method clones from source code.
Databáze: OpenAIRE