AAU Student Projects - visit Aalborg University's student projects portal
A master thesis from Aalborg University

Language Integrated STM in C# Using the Roslyn Compiler: An Alternative to Locking

[Sprog Integreret STM i C# via Roslyn Compileren: Et Alternativ til Locking]

Author(s)

Term

4. term

Education

Publication year

2015

Submitted on

2015-06-06

Pages

120 pages

Abstract

This master thesis investigates whether language integrated STM is a valid alternative to locking in C# in terms of usability, and provides additional benefits compared to library-based STM. To do so, an extension of C# called AC# was implemented. AC# provides integrated support for STM, including conditional synchronization using the retry and orelse constructs, and nesting of transactions. AC# was implemented by extending the open source Roslyn C# compiler. To power AC# a librarybased STM system, based on the TLII algorithm, was implemented. The extended compiler transforms AC# source code to regular C# code which utilizes the STM library. For each concurrency approach: AC#, library-based STM and locking in C#, four different concurrency problems, representing different aspects of concurrency, were implemented. These implementations were analyzed according to a set of usability characteristics, facilitating a conclusion upon the usability of language integrated STM. Our evaluation concludes that AC# is a valid alternative to locking, and provides better usability than library-based STM.

Keywords

Documents


Colophon: This page is part of the AAU Student Projects portal, which is run by Aalborg University. Here, you can find and download publicly available bachelor's theses and master's projects from across the university dating from 2008 onwards. Student projects from before 2008 are available in printed form at Aalborg University Library.

If you have any questions about AAU Student Projects or the research registration, dissemination and analysis at Aalborg University, please feel free to contact the VBN team. You can also find more information in the AAU Student Projects FAQs.