Difference: ConflictPatterns (7 vs. 8)

Revision 82015-08-30 - PaolaAccioly

Line: 1 to 1
 
META TOPICPARENT name="GenteAreaPublications"
Changed:
<
<

Understanding Conflicts Arising from Collaborative Development (Website under construction)

>
>

Understanding Merge Conflicts Characteristics (Website under construction)

 
Changed:
<
<
When working in a collaborative development environment, developers implement different tasks in an independent way. Consequently, during the integration process, one might have to deal with conflicting changes. Previous studies indicate that conflicts occur frequently and impair developers’ productivity. Such evidence motivates the development of tools to avoid, detect and solve conflicts. However, despite the existing evidence about this problem, there are still questions left unanswered that could drive up the productivity of existing tools. The goals of this PhD research work is to investigate conflict characteristics through empirical studies and propose improved ways to better support software developers working collaboratively. In this webpage you will find all the description of our conflict pattern catalog, the tools used in the study and our updated results.
>
>
Previous studies show that merge conflicts frequently occur in collaborative development environments, and often impairs developers' productivity, since merging contributions is a demanding and tedious task. However, the structure of the changes that lead to conflicts has not been studied yet. Understanding conflicts underlying structure and the involved syntactic language elements might shed light on how to better avoid and resolve conflicts. So, in this paper we derive a catalog of conflict patterns expressed in terms of code changes that lead to conflicts. To assess the occurrence of such patterns in open-source systems, we conducted an empirical study that reproduces 56819 merges from 128 GitHub projects. We focus on conflicts reported by a semistructured merge tool, avoiding a large number of spurious conflicts often reported by typical unstructured tools that are still used in practice. We found out that most merge conflicts happen because developers independently edit the same lines of the same methods. Furthermore, we noticed that copying and pasting pieces of code, or even entire files, across different repositories is a common practice. We also analyze how our results reveal the need for new research studies and potential improvements to tools that better support collaborative software development.
 
Changed:
<
<
Paper Preprint

If you have any questions please contact me:

>
>
If you have any questions please contact:
  Paola Accioly - prga at cin.ufpe.br
Changed:
<
<

Results

>
>
Paulo Borba - phmb at cin.ufpe.br

Guilherme Cavalcanti - gjcc at cin.ufpe.br

Update Results Link

  Updated Results Here

The Conflict Pattern Catalog

Bellow you can see one example of an instance of each pattern.

Changed:
<
<

Pattern 1

Title: Make different edits (including removal) to the same area of the same method, constructor or field declaration.

>
>

Different edits to the same area of the same method or constructor

 
Changed:
<
<
Acronym: LineBasedMCFd
>
>
Acronym: EditSameMC
  Example:

Changed:
<
<

Pattern 2

Title: Add methods or constructors declarations with the same signature and different bodies.

>
>

Methods or constructors added with the same signature and different bodies

  Acronym: SameSignatureCM

Example:

Changed:
<
<

Pattern 3

>
>

Different edits to the same field declaration

Acronym: EditSameFd

Example:

 
Changed:
<
<
Title: Add field declarations with the same id and different types or modifiers.
>
>
EditSameFd.png

Field declarations added with the same identifiers and different types of modifiers

 
Changed:
<
<
Acronym: SameIdFd
>
>
Acronym: AddSameFd
  Example:

SameIdFd.png

Changed:
<
<

Pattern 4

Title: Make different edits (including removal) to the modifiers list of the same type declaration (class, interface, annotation or enum types).

>
>

Different edits to the modifier list of the same type declaration (class, interface, annotation or enum types)

  Acronym: ModifierList

Example:

ModifierList.png

Changed:
<
<

Pattern 5

Title: Make different edits (including removal) to the same list of implements declaration.

>
>

Different edits to the same implements declaration

 
Changed:
<
<
Acronym: ImplementList
>
>
Acronym: ImplementsList
  Example:

Changed:
<
<

Pattern 6

>
>

Different edits to the same extends declaration

 
Changed:
<
<
Title: Make different edits (including removal) to the default value of the same annotation method declaration.
>
>
Acronym: ExtendsList

Example:

 
Changed:
<
<
Acronym: DefaultValueAnnotation
>
>
ExtendsLits.png

Different edits to the same annotation method default value

Acronym: DefaultValueA

  Example:
Line: 76 to 80
 

Tools

Changed:
<
<
The source code for our tools is available here. We are currently working on a set of instructions to install and run our environment.

>
>
The source code for our tools is available here.
 
META FORM name="MyForm"
FORM FIELD 29 Jan. 29Jan. EMN/ARMINES, ULANC, UMA, FCT/UNL
Line: 94 to 94
 
META FILEATTACHMENT attachment="DefaultValueAnnotation.png" attr="" comment="" date="1418332926" name="DefaultValueAnnotation.png" path="DefaultValueAnnotation.png" size="94774" user="PaolaAccioly" version="1"
META FILEATTACHMENT attachment="PID3558029.pdf" attr="" comment="" date="1428406798" name="PID3558029.pdf" path="PID3558029.pdf" size="91874" user="PaolaAccioly" version="1"
META FILEATTACHMENT attachment="prga_icse_src.pdf" attr="" comment="" date="1430959095" name="prga_icse_src.pdf" path="prga_icse_src.pdf" size="87612" user="PaolaAccioly" version="1"
Added:
>
>
META FILEATTACHMENT attachment="EditSameFd.png" attr="" comment="" date="1440952034" name="EditSameFd.png" path="EditSameFd.png" size="53125" user="PaolaAccioly" version="1"
META FILEATTACHMENT attachment="ExtendsLits.png" attr="" comment="" date="1440952052" name="ExtendsLits.png" path="ExtendsLits.png" size="64937" user="PaolaAccioly" version="1"
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

mersin escort bayan adana escort bayan izmit escort ankara escort bursa escort