Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
zusätzliche Testvektoren Zeugen kombiniert<br />
5 Evaluation<br />
1000/2000 1000/1000 1000/100 1000/0 1000/1000 2000/1000<br />
Vorabtests 1 177 108 1 177 264 1 180 883 1 180 883 1 177 264 1 067 103<br />
Erfüllbarkeitstests 971 915 945 897 1 086 231 413 454 378 485 379 988<br />
Vorabtest Fehlentsch. 66,26% 69,97% 65,35% 22,31% 14,07% 15,02%<br />
Mustererzeugung 61 s 63 s 59 s 64 s 61 s 62 s<br />
Regel anwendbar 531 s 534 s 526 s 552 s 543 s 539 s<br />
Vorabtest 3 031 s 2 874 s 2 882 s 3 602 s 3 252 s 2 370 s<br />
Erfüllbarkeitstest 2 845 s 2 790 s 2 882 s 1 598 s 1 530 s 1 528 s<br />
Gesamtlaufzeit 6 468 s 6 263 s 6 349 s 5 815 s 5 386 s 4 499 s<br />
Tabelle 5.2: Optgen Ausführungsstatistik für unterschiedliche Konfigurationen des Vorabtests,<br />
Kostenstufe: 2, Operationen: not, neg, or, and, xor, add, sub, mul.<br />
Der Erfüllbarkeitstest lässt sich nicht durch Parameter beeinflussen und ist auf die Qualität<br />
des Vorabtests angewiesen, um weniger Laufzeit zu benötigen, also weniger Muster<br />
behandeln zu müssen. Daher wird im Folgenden der Einfluss des Vorabtests bei unterschiedlicher<br />
Parametrisierung untersucht. Die Ergebnisse sind in Tabelle 5.2 zusammengefasst.<br />
Evaluiert wurden unterschiedliche Konfigurationen des Vorabtests. Die ersten drei Messungen<br />
betrachten eine feste Anzahl von Testvektoren (1000 Stück) für die Ermittlung<br />
der Hash-Klasse M h(m), sowie je 2000, 1000 und 100 zusätzliche Testvektoren<br />
tv ∈ T VADD, mit denen die Muster einer Hash-Klasse gefiltert werden. Die Verwendung<br />
von Testvektoren (Zeugen), die sich aus dem Erfüllbarkeitstest ergeben, wurde<br />
hierzu deaktiviert. Die vierte Messung untersucht, wie sich der Vorabtest gegenüber den<br />
vorherigen drei Testfällen verhält, wenn die Muster einer Hash-Klasse nur mit Zeugen<br />
aus dem Erfüllbarkeitstest gefiltert werden. Die fünfte und sechste Messung betrachtet<br />
eine Kombination beider Ansätze. Hierbei wurde die Anzahl der Testvektoren, die zur<br />
Berechnung des Hashwerts verwendet werden variiert (1000 und 2000 Testvektoren). Tabelle<br />
5.2 zeigt neben den Laufzeiten der einzelnen Phasen von Optgen auch die Anzahl<br />
der durchgeführten Vorabtests, die Anzahl der durchgeführten Erfüllbarkeitstest und<br />
den prozentualen Anteil an Fehlentscheidungen, die der Vorabtest trifft. Eine Fehlentscheidung<br />
des Vorabtests liegt dann vor, wenn zwei Muster vom Vorabtest als äquivalent<br />
angesehen werden, der Erfüllbarkeitstest dies aber widerlegt.<br />
Die Anzahl der Fehlentscheidungen ohne die Verwendung von Zeugen erscheint mit mehr<br />
als 65% hoch. Wie Tabelle 5.2 zeigt, bringt der Mehraufwand durch eine größere Anzahl<br />
zusätzlicher Testvektoren nicht zwangsläufig auch eine geringere Fehlentscheidungsrate<br />
oder Gesamtlaufzeit. Das Verhältnis aus Kosten und Nutzen ist für die getestete Konfiguration<br />
mit 1000 zusätzlichen Testvektoren am besten, obwohl die Fehlentscheidungsrate<br />
mit 69,97% am höchsten ist. Die Verwendung von Zeugen bringt eine deutliche Verbesserung,<br />
wie sich an der niedrigeren Fehlentscheidungsrate von 22,31% und an der<br />
69