• Tobias Ugleholdt Hansen
  • Kasper Breinholt Laurberg
  • Andreas Pørtner Karlsen
4. term, Computer Science (IT), Master (Master Programme)
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.
Publication date8 Jun 2015
Number of pages120
ID: 213730439