資格暗記無料で始める

サイクロマティック複雑度(循環的複雑度)とは?

サイクロマティック複雑度(循環的複雑度)とは、マッケーブが提唱した、プログラムの制御フローグラフから求める複雑さの尺度で、辺数−節点数+2、または判定条件の数+1で計算する。値は独立した経路の数に等しく、分岐網羅に必要なテストケース数の下限の目安になる。静的解析ツールで自動測定できる。

さいくろまてぃっくふくざつど

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)/別名:循環的複雑度、サイクロマティック複雑度


サイクロマティック複雑度(循環的複雑度)の意味

マッケーブが提唱した、プログラムの制御フローグラフから求める複雑さの尺度で、辺数−節点数+2、または判定条件の数+1で計算する。値は独立した経路の数に等しく、分岐網羅に必要なテストケース数の下限の目安になる。静的解析ツールで自動測定できる。

サイクロマティック複雑度(循環的複雑度)の具体例

if文が3つ(うち1つはANDで条件2個)ある関数なら判定条件は4個で複雑度は5となり、全経路を通すには最低5本のテストが要る。一般に10を超えると分割を検討し、20を超えると保守で不具合を作り込みやすい水準とみなす運用が多い。

サイクロマティック複雑度(循環的複雑度)は試験でどう引っ掛けられる?

複雑度は制御構造の数で決まり、行数や変数の多さとは直結しない。長いだけの逐次処理は複雑度が低く、逆に行数が少なくても分岐が密なら高くなる。また求まるのは「分岐網羅に必要な独立経路の数」であって全経路の数ではない——全経路数は分岐が直列に並ぶだけで指数的に増えるため一致しない。値が低いことは「バグが無い」保証でもなく、テストのしやすさの指標にすぎない。

サイクロマティック複雑度(循環的複雑度)と関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。