控制流圖(Control Flow Graph)是在計算機科學中用圖的方式來表現(xiàn)程序執(zhí)行過程中所有的可能執(zhí)行路徑的一種方式。在控制流圖中,每一個節(jié)點表示表示一個基本的代碼塊,這些基本的代碼塊用箭頭連接起來用以描述這些代碼塊之間的執(zhí)行順序。
在控制流圖中,有兩類特殊的代碼塊,入口代碼塊和出口代碼塊;所有的執(zhí)行路徑都從入口塊開始,并且結(jié)束于一個出口塊。
一個控制流圖本身是一個圖(Graph),可以用計算機圖論中的術(shù)語來加以描述,諸如edge,vertex,back edge等等。
下面的圖片可以作為一個基本的控制流圖的樣本: