Datenflussanalyse

Eine Datenflussanalyse ist a Statische Code – Analyse Eines Computer – Programm , sterben untersucht, between Welche Teile Eines Programm Daten weitergegeben Werden und Welche Abhängigkeiten daraus resultieren. Ziele Solcher Analysieren Sind Optimierungen des Codes, der Restrukturierung oder Parallelisierung und der Speichernutzung.

Datenflussanalysen wurden bei folgenden Spezies reproduziert:

  • Vorwärtsanalysen, bei Denen , wo Programm – Code Mit Hilfe des Kontrollflussgraphen untersucht Werden und
  • Rückwärtsanalysen, bei Denen , wo Programm – Code Mit Hilfe des umgekehrten Kontrollflussgraphen untersucht Wird.

Grundprinzip

Die Datenflussanalyse arbeitet mit ihnen Kontrollflussgraphen, dem Knoten Sog. Blöcke Bild, manche auch auf ihnen Dominator-Baum . Diese Blöcke enthalten eine oder mehrere Anweisungen. Datesfluss analysiert ununterbrochen, wer sich durch einen Block ändert. Enthält ein Block x: = 5, so dass die Daten des Programms so verändert werden, dass Obsie vorher einen Wert enthalten hat.

Außerdem wird untersucht, wie die Daten zwischen den Blöcken verändern. Ich bin nur ein Sturz Fließen, mehrere Kontrollflüsse (und Kanten von Control Flussgraphen) zusammen (bspw. Bei Schleifen), wurden über den Fortschritt von Blöcken in den USA informiert. DANACH unterscheidet eine Analyse Auch in Most – (bei Schnittmengen ) und Marsch – Analyse (bei Vereinigungsmengen).

Siehe auch

  • Def-Use Kette

Literatur

  • Flemming Nielson, Hanne R. Nielson und Chris Hankin: Prinzipien der Programmanalyse . Springer, 1999, ISBN 3-540-65410-0 , Webseite zum Buch
  • Uday Khedker, Amitabha Sanyal, Bageshri Karkare: Datenflussanalyse : Theorie und Praxis . CRC Press, ISBN 978-0849328800