Improving Textual Merge Result Mehdi Ahmed-Nacer, Pascal Urso, François Charoy

Improving Textual Merge Result Mehdi Ahmed-Nacer, Pascal Urso, François Charoy

Improving Textual Merge Result Mehdi Ahmed-Nacer, Pascal Urso, François Charoy To cite this version: Mehdi Ahmed-Nacer, Pascal Urso, François Charoy. Improving Textual Merge Result. Collaborate- Com 2013 - 9th IEEE International Conference on Collaborative Computing: Networking, Applica- tions and Worksharing, Oct 2013, Austin, Texas, United States. hal-00873506 HAL Id: hal-00873506 https://hal.inria.fr/hal-00873506 Submitted on 15 Oct 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Improving Textual Merge Result Mehdi Ahmed-Nacer Pascal Urso Franc¸ois Charoy Universite´ de Lorraine Universite´ de Lorraine Universite´ de Lorraine INRIA, LORIA INRIA, LORIA INRIA, LORIA Email: [email protected] Email: [email protected] Email: [email protected] Abstract—In asynchronous collaborative systems, merging is large scale collaboration is impossible. However, the system an essential component. It allows to reconcile modifications must reduce the human effort to obtain a correct merge. In made concurrently as well as managing software change through the other case, the users correct by themselves the conflicts. If branching. The collaborative system is in charge to propose a there is too much correction, the users may get frustrated and merge result that includes user’s modifications. The users now will quit the collaboration. have to check and adapt this result. The adaptation should be as effort-less as possible, otherwise, the users may get frustrated Many solutions have been proposed to improve automatic and will quit the collaboration. merge. A distinction can be made between textual [26], syn- The objective of this paper is to improve the result quality of tactic [14] and semantic [10] merging. Syntactic and semantic the textual merge tool that constitutes the default merge tool of merge are more efficient than textual merge but they are distributed version control systems. The basic idea is to study the specific to a given document. DVCS as git system supports behavior of the concurrent modifications during merge procedure. any type of collaboration. The users can collaborate to produce We identified when the existing merge techniques under-perform, XML files or a simple text document or software source code. and we propose solutions to improve the quality of the merge. For this purpose, in this paper we focused only of on textual We finally compare with the traditional merge tool through a merging. large corpus of collaborative editing. Git system uses a state − based approach to manage Keywords—Operational Transformation, collaborative editing, merging interfering, merge procedure, conflicts. the concurrent modifications, called three-way-merge (diff3) [35], [16]. During the merge procedure, it compares the local state with the remote one. If the document is modified in I. INTRODUCTION the same position, diff3 produces a conflict. On the other hand, many operation − based approaches were suggested Collaborative editing systems allow multiple users dis- to solve concurrency control in collaborative editing [9], [40], tributed in time and space to edit the same shared document. [1]. Unlike diff3, these approaches represent the modifications To achieve high responsiveness and to support disconnected as a sequence of operations that are integrated automatically collaboration, data are optimistically replicated [34], [11]; i.e. on the document. Both approach kinds are designed to reduce each user has a local copy of the document that can be modified the effort of users during the collaboration. However, study independently of the other replicas. In addition, to achieve what degree their result satisfy the users on real collaboration high availability, locking mechanism to handle concurrent is never established. In this regard, this paper studies the operations is prohibited. In peer to peer collaborative editing, behaviors of different approaches during the merge procedure the systems allow replicas to diverge temporarily, but must and understand in which case they create conflicts to reduce the eventually reach the same value if no more mutations occur. user’s effort. This paper study for the first time a decentralized This consistency model is called Eventual Consistency (EC) solution that offer a best merge than usual tool. [41]. The contribution of this paper consists of observing through In asynchronous collaboration mode, e.g Distributed Ver- a tool, different patterns of collaboration in git histories. sion Control System (DVCS) softwares, users modify their Afterward, we analyze the common cases that create a conflict document in isolation and synchronize after to establish a during the merge procedure such as undo/redo operations [44], common view of the document. Usually, these kind of systems [31] and accidental clean merge [20]. Then, we adapt a solution manages the modifications as a set of state (aka state-based to solve them by using operation-based approach. approach) as on git system [39] or So6 [23]. When a replica receives a remote state, it computes the difference between We validate our contribution by several experiments on the local state of the document and the received one before large scale histories. The experiments simulate traditional tool merging the modifications. If there are modifications in the used for merging and the solution proposed. We measure the same part of the document in both versions, the system can effort made by users in the document when a conflict is gen- return a conflict information to the user and let him resolve erated. Afterward, we compare our approach with traditional them. The conflict is generated when the system cannot merge tool used for merging. the concurrent modifications. This paper is organized into seven sections. Section II In order to provide a comfortable environment for collab- describes the merge management by using existing approaches. oration, the collaborative editing system must merge correctly Then, we describe our methodology and tool which allowed the modifications. Merging totally concurrent modifications on us to observe the different patterns of collaboration, detect Site 0 Site 1 the different conflicts and compute the effort made by users sstems sstems Op2 = del(6) during merging procedure. Section IV proposes a solution Op1 = ins(2, y) to correct the specific conflicts. Afterward, we present in T1 = T(Op1, Op2)=ins(1,y) T2 = T(Op2, Op1)=del(7) section V the experimental evaluation of our approach and systems sstem we analyze the performance of several existing collaborative T2= del(7) editing algorithms. Finally, we cite the related work and we T1 = ins(1, y) finish with a conclusion. system system II. MERGE MANAGEMENT Figure. 2: Integrate operation in OT algorithms The merge result depends strongly on the type of algo- rithms used. In state-based systems as on git [39], the mod- ifications are executed by states, while using operation-based Operational Transformation (OT) [9], [32], [23] algorithms algorithms the modifications are executed by operations. In the are operation-based designed for collaborative editing context. following, we describe how the modifications are managed in They have been proposed to maintain the consistency of the both approaches state-based and operation-based. shared document. For textual collaborative editing, they usually apply the insert and delete operations, and sometimes update A. Diff3 tool operations. To apply the operations at the correct position and to preserve The usual tool used in asynchronous systems for synchro- the user’s intention, OT algorithms transform the operation nization and merging the documents is a three-way merges received before its execution with the concurrent one, to take algorithm diff3 [35], [16]. Developed in 1988 by Randy Smith into account the changes made on the document by other and used in large version control systems such as CVS[7], Git executed operations. In Fig.2, two users shared the same [39] and SVN [6]. In Fig. 1, assume that the original document document initially "sstems" and work together to produce is O, user 1 modifies the document into A and user 2 modifies the document "system". User 0 inserts "y" at position 2 the document into B. When the collaborative system merges which intends to produce the document "systems", when the document, diff3 finds the maximum matchings between concurrently, user 1 deletes the character at position 6 which O and A and between O and B. Then, diff3 examines the intends to produce the document ”sstem”. When user 0 re- parts where O differs from either A or B and what has been ceives op2, it is transformed to take into account the effect changed by each user. Finally, it detects where the document of the concurrent operation op1, then op2 is transformed to conflict. Afterward, the system returns the results to the users del(7) instead of del(6) since the position of the concurrent with markers as in Fig. 1. These markers are useful, especially operation (op1) is before the position of op2. While, on site 1 if the size of the document is large. It specifies exactly the the operation op1 is not transformed since the position of the position of conflict, in addition to other information, like the concurrent operation (op2) is after the position of op1. Finally, modifications made by other users and the original document. both users produce the same document "system". The users are invited to make corrections on their document to solve the conflict and add modifications if necessary. Although, OT algorithms allow to order the operations, problems can happen when two users modify concurrently the text at the same position since there is no order between the B.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us