Control Flow Graph

Turkish equivalent: Kontrol akış grafiğiDomain: Program Analysis

A directed program-analysis graph whose nodes represent basic blocks and whose edges represent possible transfers of execution control.

A Control Flow Graph turns executable paths in source or machine code into a graph representation. Branches, loops, conditional jumps, and basic-block boundaries become explicit, enabling dominator, reachability, and data-flow analyses.

In reverse engineering, CFG quality depends on disassembly quality. Indirect jumps, exception paths, tail calls, and obfuscation can leave part of the real control flow unresolved by static analysis. The graph should therefore be treated as an analysis model rather than complete proof of runtime behavior.

Related: Disassembly, Static Analysis, Decompilation, MISRA C and Static Code Analysis.