Control Flow Graph

Türkçe karşılığı: Kontrol akış grafiğiAlan: Program Analysis

Bir program veya fonksiyon içindeki basic block'ları düğüm, olası yürütme geçişlerini kenar olarak gösteren yönlü program analizi grafiği.

Control Flow Graph, kaynak kod veya makine kodundaki yürütme yollarını veri yapısına dönüştürür. Dallanma, döngü, koşullu atlama ve fonksiyon içi basic block sınırları graf üzerinde açık hale gelir; dominator, reachability ve data-flow analizleri bu yapı üzerinden yürütülebilir.

Tersine mühendislikte CFG'nin doğruluğu disassembly kalitesine bağlıdır. Dolaylı jump, exception yolu, tail call veya obfuscation nedeniyle gerçek kontrol akışının bir bölümü statik olarak belirsiz kalabilir. Bu yüzden elde edilen graf program davranışının eksiksiz kanıtı olarak değil, analiz modelinin bir parçası olarak değerlendirilir.

İlgili: Disassembly, Static Analysis, Decompilation, MISRA C ve Statik Kod Analizi.