Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
10.4 Werkzeuge für die Data-<strong>Race</strong>-Analyse<br />
209<br />
Beurteilung von Falschwarnungen wieder verloren. Falschwarnungen sind besonders<br />
häufig bei intensiver Verwendung von Zeigern zu erwarten.<br />
In der akademischen Forschung wurde statische Analyse erfolgreich mit<br />
dynamischen Ansätzen kombiniert: Im ersten Schritt untersucht ein übervorsichtiger<br />
statischer Algorithmus, in welchen Programmteilen es überhaupt zu Data<br />
<strong>Race</strong>s kommen kann. Im zweiten Schritt werden dann nur für diese Programmteile<br />
dynamische Verfahren angewandt und damit Zeit für die Testerstellung<br />
gespart. Zurzeit der Drucklegung des Buchs ist dem Autor aber kein industrielles<br />
Werkzeug bekannt, das diesen Ansatz verfolgt.<br />
10.4 Werkzeuge für die Data-<strong>Race</strong>-Analyse<br />
Die in Abschnitt 10.2 vorgestellten kommerziellen Werkzeuge zur dynamischen<br />
Analyse von Data <strong>Race</strong>s sind sehr kostengünstig zu lizensieren und meist für den<br />
Privatgebrauch völlig kostenfrei. Die Werkzeuge verfügen über eine mächtige<br />
Benutzerschnittstelle und bieten großen Komfort, wie der Screenshot eines dieser<br />
Tools in Abbildung 10–5 erahnen lässt.<br />
Abb. 10–5<br />
Data <strong>Race</strong> erkannt<br />
10.5 Diskussion<br />
Data <strong>Race</strong> Detection mit am Markt befindlichen Tools funktioniert natürlich nur,<br />
wenn dem Tool die API zu den Synchronisationsmechanismen des Betriebssystems<br />
bekannt sind, damit das Werkzeug parallel ausgeführte Programmpfade und<br />
Synchronisationsmechanismen erkennen kann. Typischerweise unterstützen