Job offers

Masters’ internship: Correct datatypes for geo-replicated distributed applications

Description of the research Developing a distributed application is far from trivial, because of the trade-offs between consistency and availability. All developers wish that their application is as available as possible. Still, they need to ensure that the application invariants are respected. The CISE [1] logic can check whether an application specification upholds its expected …

Masters’ internship: Developing a geo-replicated document store above AntidoteDB

Background The document-based data model is a popular way of storing data, particularly for applications that handle semi-structured data or unstructured data accompanied by metadata, such as social media posts and multimedia. Document stores, including MongoDB and Apache CouchDB, store data object as JSON-like objects that have varying sets of fields, with different types for …

Masters’ internship: Synchronisation-free mobile gaming

Background In multiplayer online games the inherent challenges of mobile and edge computing are worsened by the requirements of real-time users’ interactions. Thus, developers of such applications face difficult design choices on data storage and distribution that ultimately affect the gaming experience: adopting a weak consistency model across replicas and mobile terminals will expose anomalies …

Masters’ internship: Mining open-source repositories for synchronisation and invariants patterns

Background Despite the increasing popularity of data-centric applications, there remains a significant mismatch between the needs of application developers and the design goals of modern databases. As a result, developers are often forced – or even encouraged by programming frameworks – to move part of the data management logic to the application layer: data integrity …

Master’s internship: Generating efficient concurrency control for geo-replicated storage

Background Reasoning about concurrent updates in a replicated database is a difficult task because operations might execute in different orders at different replicas. We have developed a tool, called CISE, that verifies whether a given program will maintain its specific correctness invariants under concurrent execution [Balegas]. If not, the tool provides a counter-example, which the …

Master’s internship: Shared, persistent and mutable big-data structures

Research topic In current computer systems, sharing or persisting data is the job of the file system. However, the file system interface is narrow and slow. This penalises applications with a large memory footprint, such as big-data analytics. Consider for instance a map-reduce computation. The map processes produces some large data structure, e.g., a social-network …