Study of Conflicts in Collaborative Editing
Étude des conflits dans l'édition collaborative
Abstract
Collaborative Editing (CE) has long captured the attention of Computer-supported- cooperative work (CSCW) researchers. Early researches about CE (in the 1990s and the early 2000) focused on describing different characteristics of CE based on interviewing people who had participated in some CE projects. Some recent researches about CE started analyzing the logs of CE activities to study how people edit together with support of modern CE tools such as Git version control systems and Google Docs. From the general view point, the process of CE is the continuous synchronization of ‘multiple, parallel streams of activity’ of collaborators. If the synchronization takes place less often, for example the development of a software project based on Git version control system, it is considered as ‘asynchronous’ work mode. And if the synchronization takes place within a small interval, for example editing a shared document in ShareLaTex, it is considered as ‘synchronous’ work mode. The longer the divergence is, more conflicts are likely to happen during the synchronization. Resolving conflicts is costly, especially after a long period of divergence. Understanding how often conflicts happen and how do user resolve conflict in real CE projects is important to ensure good performance and user experience in collaborative editing. In the first part of this thesis, we borrow the collaboration traces of four large open source projects in Git version control system to conduct our analysis. We analyze different types of textual conflicts that arise during the development and how developers resolve these types of conflict. In particular regarding ‘adjacent-lines conflicts’, we found that users mostly resolve them by applying changes from both sites. Besides, we also analyze how often users use ‘roll-back to previous version’ as a way to resolve merge conflict. The process of CE based on online collaborative editor is more specific. It can be split into several ‘sessions’ of editing which are performed by a single author or several authors. They are denoted as ‘single-authored session’ and ‘co-authored session’ respectively. This fragmentation process requires a predefined ‘interval’ or ‘maximum time gap’ which is not yet well defined in previous studies. In the second part of this thesis, we analyze the logs of CE works of students of an Engineering School using ShareLaTeX which were collected and anonymized for privacy purpose. By examining different ‘maximum time gaps’ from 30 seconds to 15 minutes on the logs we found that we can determinate a suitable ‘maximum time gap’ to split CE activities into sessions by evaluating the distribution of the ‘external-distance’. Besides, we analysed the editing activities inside each ‘co-author sessions’. We borrow a [30 seconds, 10 characters] time- position window to examine these ‘potential conflict’ cases. The result shows that people rarely edit closely in both time-position. However, conflicts are more likely to happen in these cases.
L’édition collaborative (EC) a depuis longtemps attiré l’attention des chercheurs du Computer- supported-cooperative work (CSCW). Les premières recherches sur l’EC (dans les années 1990 et au début de 2000) se concentrent sur la description des différentes caractéristiques d’EC sur la base d’interviews de personnes qui avaient participé à certains projets d’EC. Certaines recherches récentes sur CE commencent à analyser les journaux des activités CE pour étudier comment les gens éditent ensemble avec le support des outils CE modernes tels que les systèmes de contrôle de version Git et Google Docs.D’un point de vue général, le processus d’EC est la synchronisation continue de ‘multiples, parallèles flux d’activités’ de collaborateurs. Si la synchronisation a lieu moins souvent, par exemple le développement d’un projet logiciel basé sur le système de contrôle de version Git, il est considéré comme un mode de travail ‘asynchronous’. Et si la synchronisation a lieu dans un petit intervalle, par exemple en éditant un document partagé dans ShareLaTex, il est considéré comme un mode de travail ‘synchronous’. Plus la divergence est longue, plus le conflit est susceptible de se produire pendant la synchronisation. La résolution des conflits coûte cher, surtout après une longue période de divergence. Il est important de comprendre la fréquence des conflits et la manière dont les utilisateurs résolvent les conflits dans de vrais projets CE pour garantir de bonnes performances et une expérience utilisateur dans l’édition collaborative. Dans la première partie de cette thèse, nous empruntons les traces de collaboration de quatre grands projets open source dans le système de contrôle de version Git pour mener notre analyse. Nous analysons différents types de conflits textuels qui surviennent au cours du développement et comment les développeurs résolvent ces types de conflits. En particulier concernant les ‘adjacent-line conflict’, nous avons constaté que les utilisateurs les résolvent principalement en appliquant les modifications des deux sites. En outre, nous analysons également la fréquence à laquelle les utilisateurs utilisent le ‘roll-back to previous version’ pour résoudre les conflits de fusion. Le processus de CE basé sur l’éditeur collaboratif en ligne est plus spécifique. Il peut être divisé en plusieurs ‘sessions’ d’édition qui sont effectuées par un seul auteur ou plusieurs auteurs. Ils sont notés respectivement ‘single-authored session’ et ‘co-authored session’. Ce processus de fragmentation nécessite un ‘intervalle’ ou ‘intervalle de temps maximal’ prédéfini qui n’est pas encore bien défini dans les études précédentes. Dans la deuxième partie de cette thèse, nous analysons les journaux des travaux CE d’un étudiant d’une école d’ingénieurs utilisant ShareLaTeX qui ont été collectés et anonymisés à des fins de confidentialité. En examinant différents ‘maximum time gap’ de 30 secondes à 15 minutes sur les journaux, nous avons constaté que nous pouvons déterminer un ‘maximum time gap’ approprié pour diviser les activités d’EC en sessions en évaluant la distribution de la ‘external-distance’. De plus, nous avons analysé les activités d’édition au sein de chaque ‘co-author session’. Nous empruntons une fenêtre de position temporelle de [30 secondes, 10 caractères] pour examiner ces cas de ‘potential conflict’. Le résultat montre que les gens éditent rarement de près dans les deux positions temporelles. Cependant, les conflits sont plus susceptibles de se produire dans ces cas.
Origin | Files produced by the author(s) |
---|