Definition
A directed graph that represents the possible execution order and transfer of control between basic blocks or statements in a program; nodes typically represent basic blocks and edges represent jumps, branches, and fall-through transitions.