GATE CS 2015 Set 3 — Question 58
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumBasic Blocks & Flow GraphsCode OptimizationCompiler DesignGraph Terminology (Degree, Paths, Cycles)Graph Theory (Math)Engineering Mathematics
Compiler Design → Code Optimization → Basic Blocks & Flow Graphs
Last updated
Question
Consider three 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
Correct answer
(A) 4, 4, 7
Solution
Cyclomatic Complexity where is the number of predicate nodes (decision points).Program-X:
Predicates:
From the control flow diagram:
Program-Z is a sequential composition of Program-X and Program-Y (as indicated by the arrow from X's box to Y's box).
For sequential composition of two modules and :
(assuming they are combined into a single graph where the exit of A is the entry of B).
.Thus, the complexities are 4, 4, 7.
Predicates:
1.
if (value < 0)2.
while ((i<value) AND (result <= maxint)) - This contains a compound condition. However, in standard McCabe complexity for C programs, while is 1 loop predicate. If the compound condition is treated as a single decision for the loop entry, it counts as 1. If short-circuiting is considered, it might be 2. Let's check other structures.3.
Total predicates = 3. .Program-Y:if (result <= maxint)From the control flow diagram:
- There is a decision node at the top (splits into 2).
- One branch goes to another decision node (splits into 2).
- There is a loop back edge.
1.Outer region.
2.Region formed by the first
if-else split and merge.3.Region formed by the loop.
4.Region formed by the second split/merge.
Visually, there are 3 binary decision nodes. .Program-Z:Program-Z is a sequential composition of Program-X and Program-Y (as indicated by the arrow from X's box to Y's box).
For sequential composition of two modules and :
(assuming they are combined into a single graph where the exit of A is the entry of B).
.Thus, the complexities are 4, 4, 7.
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on Code Optimization
2026 Set 2 Q3A day can only be cloudy or sunny. The probability of a day being cloudy is , independent of…2026 Set 2 Q5‘When it is raining, peacocks dance.’ Based only on this sentence, which one of the following…2026 Set 2 Q8Figures (i) and (ii) represent intercity highway systems. The black dots represent cities and the…2026 Set 1 Q10An unbiased six-faced dice whose faces are marked with numbers 1, 2, 3, 4, 5, and 6 is rolled twice…2026 Set 2 Q10An unbiased six-faced dice whose faces are marked with numbers 1, 2, 3, 4, 5, and 6 is rolled twice…