Thursday, April 11, 2019

Cyclomatic Complexity Calculation - with example

Source: Softwaretestingclass.com, Wikipedia, Guru99.com
Keywords: Cyclomatic complexity, Graph Theory

Cyclomatic complexity of a source code is the number of linearly independent paths within it.

Cyclomatic complexity is a way to calculate the complexity of a code. It quantifies the complexity for future source code modifications.

If the source code does not have any control flow statements (For e.g. If, Else, While, Do, For loops in C) then its cyclomatic complexity is 1. A source code with a single IF condition will have two paths through the code so its cyclomatic complexity will be 2. Likewise a code with one IF with two conditions or two nested IF conditions will have a code complexity of 3.

Formula for cyclomatic complexity

M = E - N + 2 * P

E = Number of edges in control flow graph
N = Number of nodes in control flow graph
P = Number of connected components

Complexity Score and Interpretation
=====================


Maintenance POV
==========

A higher complexity score means lower maintainability.

QC POV
=====

From a QC perspective, a higher complexity score means, it requires indepth testing.

Node & Edge
=======


Connected component
=============

A graph with 3 connected component.



Example
=====


Nodes = 8
Edges = 9
CC = E - N + 2 * P
      = 9 - 8 + 2 * 1 (connected component) = 2





No comments:

Post a Comment

Full capabilities of ChatGPT 4 O (O for Omni) - From Openai.com

Omni, O, has multimodal capabitlies, which means it can take text, voice or video as an input and serve audio/text/image output (there's...