重複コード(ちょうふくコード、: 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/

関連項目

編集

📚 Artikel Terkait di Wikipedia

Internet Control Message Protocol for IPv6

で規定されている。 アドレスを手動で設定したり、ステートレスアドレス自動設定でつけた場合は、そのアドレスの一意性を確認できないので、重複アドレス検出 (Duplicate Address Detection; DAD) で、その一意性を確認する。 RFC 4862 Section 5.4 で規定されている

サングリチュ語

^ Sanglechi at Ethnologue (18th ed., 2015) Warduji (duplicate code)[1] at Ethnologue (18th ed., 2015) ^ Hammarström (2015) Ethnologue 16/17/18th

Checkstyle

2026年6月15日閲覧。 ^ “Checkstyle Home Page” (2010年). 2010年11月2日閲覧。 ^ “Checkstyle Duplicate Code Check” (2010年). 2010年11月2日閲覧。 ポータル FOSS StyleCop(英語版) - C#用の類似ツール checkstyle

CJK互換漢字

Ideographs (F900-FAFF) Character Code Chart”. 2012年8月25日閲覧。 ^ KIM, Kyongsok (GIM, Gyeongseog) (2008年4月5日). “Lists of Duplicate Hanja Characters in KS X 1001

盗用検出

Programming Code Plagiarism Plugin - MoodleDocs。2014年4月14日閲覧。 ^ JPlag - Detecting Software Plagiarism。2014年4月14日閲覧。 ^ “Deja vu: Medline duplicate publication

Modo

メニューバーの「レンダー」ーのメニュー一番下に「レンダーリージョンツール」が追加。これを選択してドラッグすると矩形の部分のみがレンダリングされる。 等間隔にクローン:「duplicateタブ」の「clone」で1つ複製を作成>「clone」ツールプロパティ中腹にある「between」チェックボックスにチェック >

Federated Learning of Cohorts

SSRN 3738107. 2021年4月10日閲覧. ^ Henzinger, Monika (2006年8月6日). “Finding near-duplicate web pages: a large-scale evaluation of algorithms”. Proceedings of the

学業不正

text-similarity based search engine  ”. 2014年4月10日閲覧。 ^ Deja vu: Medline duplicate publication database。2014年4月13日閲覧。 William J. Bowers (1964). Student Dishonesty