Dataflytanalyse

Fra Wikipedia, den frie encyklopedi

Dataflytanalyse er en teknikk for å samle informasjon om en mulig mengde med verdier som blir kalkulert på forskjellige steder av et dataprogram. Et dataprograms kontrollflytgraf blir benyttet for å bestemme hvilke deler av et dataprogram hvor en variabel får en spesiell tildelingsverdi. Denne informasjonen blir ofte brukt av kompilatorer, når de foretar optimalisering av et dataprogram. Et kanonisk eksempel på en dataflytanalyse er en oppnådd definisjon.

En enkel måte å utføre dataflytanalyser på er å sette opp dataflyt-ligninger for hver enkelt node av kontrollflytgrafen og løse ligningene ved å gjentatt kalkulere resultatet (utmatningen) av innmatningen lokalt i hver enkelt node inntil hele systemet stabiliseres, dvvs. inntil det når et fikspunkt. Den generelle tilnærmelsen ble utviklet av Gary Kildall, mens han underviste ved Naval Postgraduate School.[1]

Referanser[rediger | rediger kilde]

  1. ^ «A Unified Approach to Global Program Optimization». Proceedings of the 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages: 194–206. 1973. doi:10.1145/512927.512945.  [1]

Litteratur[rediger | rediger kilde]

  • Aho, Sethi & Ullman: Compilers - Principles, Techniques, and Tools Addison-Wesley Publishing Company 1986.