著者
門田 暁人 井上 克郎 松本 健一 岡原 聖 真鍋 雄貴 山内 寛己 Yamauchi Hiroki Okahara Satoshi Inoue Katsuro Monden Akito Manabe Yuki Matsumoto Kenichi マツモト ケンイチ モンデン アキト ヤマウチ ヒロキ オカハラ サトシ マナベ ユウキ イノウエ カツロウ
出版者
電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.108, no.362, pp.7-11, 2008-12-11

Generally, if a piece of code clone was found between two different programs, a plagiarism or a code reuse (program piracy) might be made. On the other hand, code clone also occurs accidentally or by code idioms. This paper experimentally derives the probability of program piracy based on length of code clone. In the experiment, we identified code clones among many different programs which we confirmed that program piracy has not been made, and formulated by power approximation the relation between the length of code clone and its derivation probability. By using this formula, we can compute the probability of program piracy from the maximum length of code clone derived from given two programs.一般に, プログラム間で一致するコード列(コードクローン)が見つかった場合, コードの盗用もしくは流用の疑いがある. 一方で, 独立に開発されたプログラム間で偶然(もしくは定型処理など)によりコードクローンが生じることもある. 本稿では, どの程度の長さのクローンであれば, 偶然に生じたものではないと言えるか, その判断基準を実験的に導出する.実験では, 独立に開発された(流用のない)多数のプログラム間で検出されるコードクローンの長さと個数を調査し, 最大クローン長とクローン検出確率の関係を算出した. そして, 偶然に生じうるコードクローンの検出確率を累乗近似により定式化した. 導出した式により, 2つのプログラム間の最大クローン長を計測することにより, 偶然や定型処理ではない, すなわち, 盗用や流用が行われた確率を求めることが可能となった.