The Gateway to Computer Science Excellence
+3 votes
1.6k views

Consider the following software items: Program-$X$, Control Flow Diagram of Program-$Y$ and Control Flow Diagram of Program-$Z$ as shown below

The values of McCabe's Cyclomatic complexity of program-$X$, program-$Y$, and program-$Z$ respectively are

  1. 4, 4, 7
  2. 3, 4, 7
  3. 4, 4, 8
  4. 4, 3, 8
in IS&Software Engineering by Veteran (105k points)
retagged by | 1.6k views

4 Answers

+11 votes
Best answer

cyclomatic complexity = no of predicate nodes +1

No of predicate nodes = decision making nodes

so for program X , no of predicate nodes = 3 (if, while , if )

cyclomatic complexity of program X = 3+1=4

For program Y, no of predicate nodes = 3 ( node3, node6, node8)

cyclomatic complexity for program Y = 3+ 1=4

For program Z , no of predicate nodes = 6 ( 3 of X followed by 3 of Y)

cyclomatic complexity of Z = 6+1 =7

by Veteran (56.8k points)
selected by
0
@praveen sir, inside the $while$ there are two conditions to be evaluated i.e. $i<value$ and $result <=maxint$..then why we are not considering as two decision making nodes?
0
because both the conditions combined will lead to any branch...
+6 votes

With reference to the article http://www.chambers.com.au/glossary/mc_cabe_cyclomatic_complexity.php
McCabe's Cyclomatic complexity is =E-N+2P where E=no of edge, N=no of node and P= no of disconnected graph.
for program x, E=11, N=9, P=1 so MCC=E-N+2P=11-9+1*2=4
for program y, E=10, N=8, p=1 so MCC=10-8+1*2=4
for program z, E=22, N=17, p=1 so MCC= 22-17+1*2=7
 so answer is A(4,4,7).

 

by (281 points)
+1 vote
answer is A.
by Junior (657 points)
0 votes

The cyclomatic complexity of a structured program[a] is defined
with reference to the control flow graph of the program, a directed
graph containing the basic blocks of the program, with an edge
between two basic blocks if control may pass from the first to the
second. The complexity M is then defined as.

    M = E − N + 2P,

where

    E = the number of edges of the graph.
    N = the number of nodes of the graph.
    P = the number of connected components. 

Source: http://en.wikipedia.org/wiki/Cyclomatic_complexity

For first program X, E = 11, N = 9, P = 1,  So M = 11-9+2*1 = 4
For second program Y, E = 10, N = 8, p = 1, So M = 10-8+2*1 = 4
For Third program X, E = 22, N = 17, p = 1, So M = 22-17+2*1 = 7

by Loyal (9.7k points)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,645 questions
56,542 answers
195,693 comments
101,534 users