En kontrollflytgraf er en avbilning innenfor informatikk, hvor det benyttes en graf hvor alle stier kan traverseres gjennom et dataprogram under dets eksekvering. Kontrollflytgrafen ble første gang tatt i bruk av Frances E. Allen,[1] som merket seg at Reese Prosser tidligere benyttet nabomatriser for å fremstille flytanalyse.[2]

Eksempler:
(a) if-then-else
(b) en while loop
(c) en naturlig løkke med to utganger, e.g. while med en if...break i midten; ikke-strukturert men reduserbar
(d) en ikke-reduserbar kontrollflytgraf: en løkke med to inngangspunkter, dvs en goto inne i en while eller for-løkke

Kontrollflytgrafer er sentrale for mange optimaliserende kompilatorer og verktøy for statisk programanalyse.

Referanser rediger

  1. ^ Frances E. Allen (juli 1970). «Control flow analysis». SIGPLAN Notices. 5 (7): 1–19. doi:10.1145/390013.808479. 
  2. ^ Reese T. Prosser (1959). «Applications of Boolean matrices to the analysis of flow diagrams». s. 133–138.