コードクローンとの位置関係がコード片の欠陥発生傾向に与える影響の調査

中山直輝 (1351080)


コードクローンとは,ソフトウェアのソースコード中に存在する互いに一致または類似したコード片を指し,主に開発者が行うコピーアンドペーストによって発生する. コピーアンドペーストによるコード片の再利用は,欠陥の発生や拡散の原因となる恐れがあることから,近年コードクローンに着目して欠陥を探すコードレビュー手法が多く提案されている. コードクローンに起因する欠陥はコードクローンの中だけでなく外にも存在するため,コードクローンに着目してコードレビューを行う際は,コードクローン内外のそれぞれに対して欠陥の有無を確認する必要がある. しかし,コードクローン内外における一般的な欠陥発生傾向は明らかになっておらず,コードクローンに着目して効率的にコードレビューを行う手法も確立されていない. そこで本研究では,オープンソースソフトウェアの開発履歴に基づき,コードクローンとの位置関係がコード片の欠陥発生傾向に与える影響を定量的に調査した. コードクローン内外の欠陥率を比較した結果,コードクローン外の方が欠陥率が高い傾向があることを確認した. また,コードクローンとの距離ごとにコード片中の欠陥発生数を比較した結果,コードクローンに近いコード片で欠陥が多く発生することを確認した. これらの結果を踏まえ,本発表ではコードクローンに着目したコードレビューの効率化に対する本研究の有用性を述べる.