重複コード

同じソースコードの中で何度も現れるコード

重複コード(ちょうふくコード、: duplicate code)とは、ソースコード中に存在する同一、もしくは類似した部分のことである。コードクローンとも呼ばれる。

重複コードが引き起こす問題 編集

重複コードは、ソフトウェア保守を困難にする要因の一つである。その理由は、あるコードを修正したなら、そのコードの重複コード全てに対して修正の検討を行う必要があるからである。例えば、あるコードにバグが見つかった場合、そのコードの重複コード全てに対してバグの有無を確認する必要がある。特に大規模ソフトウェアは重複コードの数が多い可能性が高いため、保守作業において重複コードが大きな問題となりやすい。

このような問題を解決するには、重複しているコードをサブルーチンなどとして括りだし、重複を解消する必要がある。

重複コードの自動検出・分析を行う手法・ソフトウェア 編集

1990年代後半から、主にソフトウェア工学の一環として、重複コードを検出する手法の研究が盛んに行われている[1]。 ソフトウェア工学の分野では、重複コードは主にコードクローンと呼ばれる[1]

国内で開発された重複コードの検出を行うツールとしては、産業技術総合研究所の神谷年洋が開発したCCFinderX[2]が挙げられる。2009年8月時点では、CCFinderXは無償で公開されており、http://www.ccfinder.net/ からダウンロードすることができる。また、大阪大学の井上克郎教授が率いるソフトウェア工学講座では、統合コードクローン分析環境ICCAを開発している[3]

参考文献 編集

  1. ^ a b 肥後芳樹,楠本真二,井上克郎: コードクローン検出とその関連技術,電子情報通信学会論文誌D, Vol.J91-D, No.6, pp.1465-1481, 2008年6月
  2. ^ http://www.ccfinder.net/
  3. ^ http://sel.ics.es.osaka-u.ac.jp/icca/

関連項目 編集