Concurrency Bug Finder

Amrein, Christoph (2016) Concurrency Bug Finder. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of PA-Amrein.pdf] Text
PA-Amrein.pdf - Supplemental Material

Download (1MB)


This thesis presents a catalog of concurrency-related bug patterns. In contrast to design patterns, bug patterns describe specific code constellations that are error-prone. Each pattern is introduced with a brief description of the possible concurrency issues that may occur and what changes are necessary to avoid them. Moreover, the patterns have a short explanation of how their presence can be observed.
Concurrency Bug Finder is a Roslyn-based static code analysis tool for the introduced bug patterns. The underlying core idea of the analyses is: "Code made to run concurrently will run concurrently." This presumption removes the necessity to identify if a code is truly executed concurrently. Instead, the concurrent execution of the code is assumed if synchronization primitives are used.
The experimental evaluation verified the reliability of the different bug pattern analyses by scanning various projects with Concurrency Bug Finder and manually assessing the correctness of the reported issues. It revealed that more than 36% of the 365 findings are malign and only 29% are false positives. The remaining 35% indicate code locations that could be improved with regard to the design.

Item Type: Thesis (Other)
Subjects: Topics > Software > Refactoring
Topics > Software > Optimization
Area of Application > Development Tools
Area of Application > Academic and Education
Technologies > Programming Languages > C#
Technologies > Frameworks and Libraries > .NET
Technologies > Parallel Computing
Divisions: Master of Science in Engineering (MRU Software and Systems)
Depositing User: Christian Spielmann
Thesis advisor
Bläser, Luc
Date Deposited: 07 Sep 2021 08:17
Last Modified: 07 Sep 2021 08:17

Actions (login required)

View Item
View Item