06.06.2024; Vorstellung
Echtzeit-AGPath-Expression Based Synchronization in C++ using Aspect-Oriented Programming
Concurrent accesses to shared resources must be synchronized to avoid race conditions. Manual synchronization adds complexity to a project that makes it harder to contribute and introduces the risk of bugs. Path expressions offer a way to formally specify all permissible sequences of operations, describing access to shared resources on an abstract level. A path-expression compiler generates code that enforces correct synchronization at runtime.
In this thesis I will explore the synchronization of C++ programs using path expressions. I will specify a syntax for path expressions, including extensions to the original path expressions based on common use cases. I will develop a tool chain to synchronize C++ programs according to a path expression using Aspect-Oriented Programming. I will evaluate the approach using synthetic benchmarks and real-world programs, comparing readability, extensibility and performance with manually synchronized counterparts.
(Introduce of Master-thesis topic)