Dynamic Parallel Checker

Heeb, Dominic and Keller, Fabian (2015) Dynamic Parallel Checker. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[img]
Preview
Text
SA_TechnischerBericht_f3keller_d1heeb.pdf - Supplemental Material

Download (871kB) | Preview

Abstract

Die Arbeit "Dynamic Parallel Checker" behandelt die Entwicklung und Implementation eines Algorithmus zur Erkennung von Nebenläufigkeitsfehlern (Race Conditions) während der Laufzeit (dynamisch). Der entwickelte Algorithmus basiert auf dem Vector Clock Algorithmus von Colin J. Fidge und Friedmann Mattern [ACSC, 1988]. Mit dem Vector Clock Algortihmus ist es möglich, nebenläufige Schreib- und Lesezugriffe in eine partielle Ordnung zu bringen, die sog. HappendBefore Beziehung. Locks und Unlocks sowie Thread oder Task Starts und Joins implizieren dabei eine Synchronisation der Vector Clocks zwischen den involvierten Threads bzw. Tasks, also eine Happend-Before Beziehung. Pro Thread oder Task werden alle nötigen Ereignisse, Zugriffe sowie Synchronisationen, in einer History protokolliert. Dies erlaubt es, anschliessend Data Races zu identifizieren: Ein Data Race liegt vor, wenn Zugriffe ohne HappenedBefore Beziehung mit mindestens einer Schreiboperation auf dieselben Ressourcen stattgefunden haben. Die Implementation des Algorithmus instrumentiert Microsoft Intermediate Language Code (MSIL) mit Hilfe der Mono Cecil Bibliothek. Daher ist es möglich, mit dem Dynamic Parallel Checker alle für das .NET-Framework entwickelten Applikationen zu überwachen. Der bestehende MSIL Code wird um Codestellen erweitert, welche die Dynamic Parallel Checker Library aufrufen und mit Informationen beliefern. Diese Informationen werden schliesslich von Algorithmus verwertet, um Data Races zu detektieren.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software > Optimization
Topics > Software > Testing and Simulation > Unit-Testing
Area of Application > Development Tools
Technologies > Programming Languages > C#
Technologies > Frameworks and Libraries > .NET
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Creators:
CreatorsEmail
Heeb, DominicUNSPECIFIED
Keller, FabianUNSPECIFIED
Contributors:
ContributionNameEmail
Thesis advisorBläser, LucUNSPECIFIED
Depositing User: HSR Deposit User
Date Deposited: 17 Mar 2016 08:51
Last Modified: 17 Mar 2016 08:51
URI: http://eprints.hsr.ch/id/eprint/490

Actions (login required)

View Item View Item