Datenflussanalyse

Datenflussanalyse

Eine Datenflussanalyse ist eine statische Code-Analyse eines Computerprogramms, die untersucht, zwischen welchen Teilen eines Programms Daten weitergegeben werden und welche Abhängigkeiten daraus resultieren. Ziele solcher Analysen sind Optimierungen des Codes hinsichtlich der Ausführungszeit (durch Löschen überflüssigen Codes, Restrukturierung oder Parallelisierung) und der Speichernutzung.

Datenflussanalysen werden in folgende Arten unterteilt:

  • Vorwärtsanalysen, bei denen der Programmcode mit Hilfe des Kontrollflussgraphen untersucht wird und
  • Rückwärtsanalysen, bei denen der Programmcode mit Hilfe des umgekehrten Kontrollflussgraphen untersucht wird.

Grundprinzip

gesamte Information, bevor und nachdem ein Block durchlaufen wurde

Datenflussanalysen arbeiten meist auf dem Kontrollflussgraphen, dessen Knoten sog. Blöcke bilden, manche auch auf dem Dominator-Baum. Diese Blöcke enthalten eine oder mehrere Anweisungen. Datenflussanalysen untersuchen, wie sich Daten durch einen Block verändern. Enthält ein Block beispielsweise den Code x:=5, so verändern sich die Daten des Programms so, dass die Variable x nach dem Durchlaufen dieses Blocks den Wert 5 enthält, unabhängig davon, welchen bzw. ob sie vorher einen Wert enthalten hat.

Außerdem wird untersucht, wie sich die Daten zwischen den Blöcken verändern. Im einfachsten Fall werden sie einfach nur weitergegeben. Fließen jedoch mehrere Kontrolflüsse (respektive Kanten des Kontrollflussgraphen) zusammen (bspw. bei Schleifen), werden die Informationen entweder aus allen vorangegangenen Blöcken zusammengefasst oder geschnitten. Danach unterscheidet man Analysen auch in must- (bei Schnittmengen) und may-Analysen (bei Vereinigungsmengen).

Siehe auch

Literatur


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Datenflussanalyse — Datenflussanalyse,   eine Methode, mit der sich alle prinzipiell möglichen Fehler bei der Arbeit mit einem Computer aufdecken lassen. Sie ist damit zusammen mit der Datenumfeldanalyse die Grundlage von Datenschutz und Datensicherung. Die… …   Universal-Lexikon

  • Programmanalyse — Die Programmanalyse beschäftigt sich mit Methoden zur (automatischen) Analyse von Computerprogrammen. Die Methoden der Programmanalyse erlauben Programmierern ein besseres Verständnis komplexer Programme, ebenso werden sie in den von Übersetzern… …   Deutsch Wikipedia

  • Reinhard Wilhelm — (* 5. Juni 1946 in Deutmecke, Westfalen) ist ein deutscher Informatiker. Inhaltsverzeichnis 1 Leben und Wirken 2 Auszeichnungen 3 Schriften 4 …   Deutsch Wikipedia

  • Statisches Software-Testverfahren — Statische Software Testverfahren (kurz: statische Tests) gehören zu den analysierenden Verfahren beim Softwaretest und unterteilen sich in Strukturierte Gruppenprüfung (engl. Review) Statische Code Analyse bzw. kurz statische Analyse Statische… …   Deutsch Wikipedia

  • Datensicherung — Reservekopie; Backup; Sicherungskopie; Sicherheitskopie * * * Datensicherung,   Sammelbegriff für alle Verfahren, Methoden und Einrichtungen, mit denen Daten vor Verlust, Beschädigung, Fehlern oder Verfälschung bewahrt werden.   Die Methoden der… …   Universal-Lexikon

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”