<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Datenflussanalyse</id>
	<title>Datenflussanalyse - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Datenflussanalyse"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Datenflussanalyse&amp;action=history"/>
	<updated>2026-05-26T10:02:21Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Datenflussanalyse&amp;diff=1956339&amp;oldid=prev</id>
		<title>imported&gt;Invisigoth67: form</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Datenflussanalyse&amp;diff=1956339&amp;oldid=prev"/>
		<updated>2024-04-21T07:51:48Z</updated>

		<summary type="html">&lt;p&gt;form&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Eine &amp;#039;&amp;#039;&amp;#039;Datenflussanalyse&amp;#039;&amp;#039;&amp;#039; ist eine [[statische Code-Analyse]] eines [[Computerprogramm]]s, die untersucht, zwischen welchen Teilen eines Programms [[Daten]] weitergegeben werden und welche [[Datenabhängigkeit|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.&lt;br /&gt;
&lt;br /&gt;
Datenflussanalysen werden in folgende Arten unterteilt:&lt;br /&gt;
* Vorwärtsanalysen, bei denen der Programmcode mit Hilfe des [[Kontrollflussgraph]]en untersucht wird und&lt;br /&gt;
* Rückwärtsanalysen, bei denen der Programmcode mit Hilfe des umgekehrten [[Kontrollflussgraph]]en untersucht wird.&lt;br /&gt;
&lt;br /&gt;
== Grundprinzip ==&lt;br /&gt;
[[Datei:DatenflussDurchBlock.png|mini|Gesamte Information, bevor und nachdem ein Block durchlaufen wurde]]&lt;br /&gt;
&lt;br /&gt;
Datenflussanalysen arbeiten meist auf dem Kontrollflussgraphen, dessen Knoten sog. Blöcke bilden, manche auch auf dem [[Dominanzrelation (Kontrollflussgraph)|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.&lt;br /&gt;
&lt;br /&gt;
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 Kontrollflüsse (respektive Kanten des Kontrollflussgraphen) zusammen (bspw. bei Schleifen), werden die Informationen aus den vorangegangenen Blöcken entweder zusammengefasst oder geschnitten. Danach unterscheidet man Analysen auch in &amp;#039;&amp;#039;must&amp;#039;&amp;#039;- (bei Schnittmengen) und &amp;#039;&amp;#039;may&amp;#039;&amp;#039;-Analysen (bei Vereinigungsmengen).&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Def-Use-Kette]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Flemming Nielson, Hanne R. Nielson, Chris Hankin: &amp;#039;&amp;#039;Principles of Program Analysis&amp;#039;&amp;#039;. Springer, 1999, ISBN 3-540-65410-0, [http://www.imm.dtu.dk/~riis/PPA/ppa.html Webseite zum Buch] &lt;br /&gt;
* Uday Khedker, Amitabha Sanyal, Bageshri Karkare: &amp;#039;&amp;#039;Data Flow Analysis: Theory and Practice&amp;#039;&amp;#039;. CRC Press, ISBN 978-0849328800&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Invisigoth67</name></author>
	</entry>
</feed>