コーディングスタイルに基づくソースコード盗用検出

武田 隆之 (0851065)


本研究では,学生の演習課題のような小規模なソースコードを対象とした盗用の 検出を目的とする. 近年,学生のレポート盗用が問題視されており,プログラミング技術の習得を目的 とする講義においても, 提出すべきソースコードを他の学生から盗用することで容易に単位を修得しよう とする学生(盗用者)が存在する. 盗用者は盗用の発見を免れるための細工をする上,課題によってはアルゴリズムの自由度が低く, 少なくとも数十のアルゴリズムが似たソースコードが提出されるため,盗用を検 出することは非常に困難である. 本研究では,インデント,演算子などのコーディングスタイルに着目し,59項目の特徴量として抽出し, 盗用の発見に用いる.盗用関係にあるソースコード間において59項目の特徴量の差分を測定し, 盗用関係にないソースコード間における特徴量の差分と比較したところ, 28項目の特徴量が盗用検出に有効であること, 28項目のうち8項目の特徴量はプログラムに内容によらず盗用検出に有効であること, 8項目のうち3項目の特徴量はソースコード整形ツールによるインデント整形に対 して耐性をもつことが分かった.