Erkennung von bedingungssynchronisation bei parallelen Programmen mit POSIX-Threads
- Type:Studienarbeit
- Supervisor:
Dr. Ing. Ali Jannesari
- Person in Charge:Kai-bin Bao
-
In parallelen Programmen gestaltet sich die Suche nach Nebenläufigkeitsfehlern mit klassischen Entwicklungswerkzeugen sehr schwierig. Mit Wettlauferkennern lassen sich unsynchronisierte Zugriffe auf gemeinsame Daten aufdecken, welche als Begleiterscheinung zu Nebenläffigkeitsfehlern auftreten. Ein wichtiger Bestandteil des Wettlauferkenners ist dabei die akkurate Erkennung der vom Programm durchgeführten Synchronisation, denn nur dadurch ist es möglich, zwischen synchronisierten und unsynchronisierten Zugriffen zu unterscheiden. Diese Studienarbeit beschäftigt sich mit der zuverlässigen Erkennung von einem Synchronisationsschema, der Bedingungssynchronisation, welche bisher nicht von allen Wettlauferkennern korrekt behandelt wurde. Dabei wurde ein Verfahren entwickelt, welches nur auf den Mitteln der dynamischen Programmanalyse beruht und somit nahtlos in einen dynamischen Wettlauferkenner integriert werden kann. Die vorgestellten Erweiterungen wurden in Helgrind+ implementiert und mit Programmen des PARSEC-Benchmarks getestet.