COAST - 2018

Section: New Results

Design and Analysis of Collaborative Editing Approaches

Participants : Matthieu Nicolas, Victorien Elvinger, Hoai Le Nguyen, Quentin Laporte Chabasse, Claudia-Lavinia Ignat [contact] , Gérald Oster, François Charoy, Olivier Perrin.

Since the Web 2.0 era, the Internet is a huge content editing place on which users collaborate. Thousand of people can edit this shared document. However, current consistency maintenance algorithms are not adapted to massive collaborative updating involving large number of contributors and a high velocity of changes. This year we studied collaborative editing user behaviour and started to work on an optimised solution for sequence CRDTs. Version control systems such as Git became very widespread in the open-source community. In these collaborative systems, conflict resolution that arise during synchronisation of parallel changes might become a burden for the user. We analysed concurrency and conflicts in Git repository of four projects: Rails, IkiWiki, Samba and Linux Kernel. We analysed the collaboration process of these projects at specific periods revealing how change integration and conflict rates vary during the project development life-cycle. Our study suggests that developers should use more intensively awareness mechanisms close to release dates where changes integration rate is higher. We also discussed the mechanism adopted by Git to consider concurrent changes made on two adjacent lines as conflicting. Based on the high rate of false positives of this mechanism, our study suggests that Git should reconsider signalling adjacent line conflicts inside the source code files [4]. Sequence Conflict-free Replicated Data Types (CRDTs) allow one to replicate and edit, without any kind of coordination, sequences in distributed systems. To ensure convergence, existing works from the literature add metadata to each element but they do not bind its footprint, which impedes their adoption. Several approaches were proposed to address this issue but they do not fit a fully distributed setting. We started to work on the design and validation of a fully distributed renaming mechanism, setting a bound to the metadata’s footprint [14]. Addressing this issue opens new perspectives of adoption of these CRDTs in distributed applications.