<?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=Def-Use-Kette</id>
	<title>Def-Use-Kette - 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=Def-Use-Kette"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Def-Use-Kette&amp;action=history"/>
	<updated>2026-05-24T21:44:55Z</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=Def-Use-Kette&amp;diff=1899183&amp;oldid=prev</id>
		<title>imported&gt;Crazy1880: Vorlagen-fix (GoogleBuch)</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Def-Use-Kette&amp;diff=1899183&amp;oldid=prev"/>
		<updated>2020-01-05T10:55:46Z</updated>

		<summary type="html">&lt;p&gt;Vorlagen-fix (GoogleBuch)&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;Def-Use-Kette&amp;#039;&amp;#039;&amp;#039; ist eine [[Datenstruktur]], die aufeinanderfolgende Paare von Schreib- und Lesezugriffen einer [[Variable (Programmierung)|Variablen]] beschreibt.&lt;br /&gt;
&lt;br /&gt;
Im Rahmen des Software Engineerings werden beim [[White-Box-Test]]ing mittels Def-Use-Ketten Datenflusstests durchgeführt, welche das Durchlaufen von Code mittels Testwerten für Variablen ermöglichen.&amp;lt;ref name=&amp;quot;SEKuchenSkript&amp;quot;&amp;gt;Prof. Herbert Kuchen: {{Webarchiv |url=http://www.wi1.uni-muenster.de/pi/lehre/ws0910/se/SEk7.pdf |wayback=20170123163739 |text=&amp;#039;&amp;#039;Software Engineering, Skript WS09/10&amp;#039;&amp;#039;. |archiv-bot=2019-03-12 07:23:32 InternetArchiveBot}} (PDF; 234&amp;amp;nbsp;kB) [[Westfälische Wilhelms-Universität]] Münster. S. 403, 407ff. Abgerufen am 23.&amp;amp;nbsp;Januar 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiel ==&lt;br /&gt;
Im Folgenden soll eine Def-Use-Kette für die Variable &amp;quot;d&amp;quot; erzeugt werden.&lt;br /&gt;
Der nachfolgende Code findet den größten gemeinsamen Teiler (GGT) zweier Zahlen &amp;quot;a&amp;quot; und &amp;quot;b&amp;quot; und ist in [[Java (Programmiersprache)|Java]] implementiert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot; line&amp;gt;&lt;br /&gt;
 public int ggt(int a, int b){&lt;br /&gt;
    int c = a;&lt;br /&gt;
    int d = b;&lt;br /&gt;
    if(c == 0)&lt;br /&gt;
       return d;&lt;br /&gt;
    while(d != 0){&lt;br /&gt;
       if(c &amp;gt; d)&lt;br /&gt;
          c = c - d;&lt;br /&gt;
       else&lt;br /&gt;
          d = d - c;&lt;br /&gt;
    }&lt;br /&gt;
    return c;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um alle Def-Use-Ketten für die Variable &amp;quot;d&amp;quot; zu erzeugen, ist folgendermaßen vorzugehen:&lt;br /&gt;
&lt;br /&gt;
# Ermitteln des ersten Schreibzugriffes (Definition der Variablen)&lt;br /&gt;
#: In diesem Fall entspricht dies der Zuordnung &amp;quot;d=b&amp;quot; (Zeile 3)&lt;br /&gt;
# Ermitteln des ersten Lesezugriffes&lt;br /&gt;
#: In diesem Fall entspricht dies der Anweisung &amp;quot;return d&amp;quot;&lt;br /&gt;
# Aufschreiben dieser Information im folgenden Stil:&lt;br /&gt;
#: [Name der untersuchten Variablen, konkreter Schreibzugriff, konkreter Lesezugriff]&lt;br /&gt;
#: In diesem Fall entspricht dies [d, d=b, return d]&lt;br /&gt;
&lt;br /&gt;
Nun werden diese Schritte wiederholt, wobei jeder Schreibzugriff mit jedem Lesezugriff der untersuchten Variablen verbunden wird.&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist dann:&lt;br /&gt;
# [d, d=b, return d]&lt;br /&gt;
# [d, d=b, while(d!=0)]&lt;br /&gt;
# [d, d=b, if(c&amp;gt;d)]&lt;br /&gt;
# [d, d=b, c=c-d]&lt;br /&gt;
# [d, d=b, d=d-c]&lt;br /&gt;
# [d, d=d-c, while(d!=0)]&lt;br /&gt;
# [d, d=d-c, if(c&amp;gt;d)]&lt;br /&gt;
# [d, d=d-c, c=c-d]&lt;br /&gt;
# [d, d=d-c, d=d-c]&amp;lt;ref name=&amp;quot;SEKuchenUebung&amp;quot;&amp;gt;Henning Heitkötter: {{Webarchiv |url=http://www.wi1.uni-muenster.de/pi/lehre/ws0910/se/uebungen/Uebung6-Vorstellung.pdf |wayback=20170123163744 |text=&amp;#039;&amp;#039;Software Engineering WS09/10, Lösung Übungsblatt 6&amp;#039;&amp;#039;. |archiv-bot=2019-03-12 07:23:32 InternetArchiveBot}} (PDF; 554&amp;amp;nbsp;kB) [[Westfälische Wilhelms-Universität]] Münster. S. 25. Abgerufen am 23.&amp;amp;nbsp;Januar 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur |Autor=Aditya P. Mathur |Titel=Foundations of Software Testing. Fundamental Algorithms and Techniques. An Undergrate and Graduate Text. A Reference for the Practicing Software Engineer |Verlag=Pearson Education India |Ort=Delhi u.&amp;amp;nbsp;a. |Datum=2008 |ISBN=978-81-317-0795-1 |Seiten=462 |Sprache=en |Online={{Google Buch |BuchID=yU-rTcurys8C |Seite=462}}}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Testen (Software)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Crazy1880</name></author>
	</entry>
</feed>