サイクロマティック複雑度(循環的複雑度)とは?さいくろまてぃっくふくざつど
サイクロマティック複雑度(循環的複雑度)とは、マッケーブが提唱した、プログラムの制御フローグラフから求める複雑さの尺度で、辺数−節点数+2、または判定条件の数+1で計算する。値は独立した経路の数に等しく、分岐網羅に必要なテストケース数の下限の目安になる。静的解析ツールで自動測定できる。
最終更新:2026-10-07
高度試験の午前Iを最短で暗記する →具体例
if文が3つ(うち1つはANDで条件2個)ある関数なら判定条件は4個で複雑度は5となり、全経路を通すには最低5本のテストが要る。一般に10を超えると分割を検討し、20を超えると保守で不具合を作り込みやすい水準とみなす運用が多い。
試験での引っ掛け
複雑度は制御構造の数で決まり、行数や変数の多さとは直結しない。長いだけの逐次処理は複雑度が低く、逆に行数が少なくても分岐が密なら高くなる。また求まるのは「分岐網羅に必要な独立経路の数」であって全経路の数ではない——全経路数は分岐が直列に並ぶだけで指数的に増えるため一致しない。値が低いことは「バグが無い」保証でもなく、テストのしやすさの指標にすぎない。
関連用語
出典・参考
公式シラバスの4 開発技術 > 3. 実装・構築 > (6) コードレビューに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。