Skip to main content
Erschienen in: Empirical Software Engineering 1/2020

07.09.2019

On the relation between Github communication activity and merge conflicts

verfasst von: Gustavo Vale, Angelika Schmid, Alcemir Rodrigues Santos, Eduardo Santana de Almeida, Sven Apel

Erschienen in: Empirical Software Engineering | Ausgabe 1/2020

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Version control systems assist developers in managing concurrent changes to a common code base by tracking all code contributions over time. A notorious problem is that, when integrating code contributions, merge conflicts may occur and resolving them is a time-consuming and error-prone task. There is a popular belief that communication and collaboration success are mutually dependent. So, it is believed that great communication activity helps to avoid merge conflicts. However, in practice, the role of communication activity for merge conflicts to occur or to be avoided has not been thoroughly investigated. To better understand this relation, we analyzed the history of 30 popular open-source projects involving 19 thousand merge scenarios. Methodologically, we used a bivariate (Spearman’s rank correlation) and a multivariate (principal component analysis and partial correlations) analysis to quantify their correlation. In bivariate analysis, we found a weak positive correlation between GitHub communication activity and the number of merge conflicts. However, in the multivariate analysis, the positive correlation disappeared, not supporting the intuition that GitHub communication helps to avoid merge conflicts. Interestingly, we found that the strength of this relationship depends on the merge scenarios’ characteristics, such as the number of lines of code changed. Puzzled by these unexpected results, we investigated each covariate, which provided justifications for our findings. The main conclusion from our study is that GitHub communication activity itself does not support the emergence or avoidance of merge conflicts even though such communication is associated only with merge scenario code changes or among developers only.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Fußnoten
4
github.com/getlantern/lantern; commit 86be2a8
 
5
github.com/toddmotto/public-apis; commit 0870841
 
6
github.com/ReactiveX/RxJava; commit 25ebda
 
7
github.com/getlantern/lantern; commits:9d0bbbb and 6b6b534
 
Literatur
Zurück zum Zitat Accioly P, Borba P, Cavalcanti G (2017) Understanding semi-structured merge conflict characteristics in open-source java projects. Empir Softw Eng 23(4):1–35. Springer Accioly P, Borba P, Cavalcanti G (2017) Understanding semi-structured merge conflict characteristics in open-source java projects. Empir Softw Eng 23(4):1–35. Springer
Zurück zum Zitat Apel S, Liebig J, Brandl B, Lengauer C, Kästner C (2011) Semistructured merge: rethinking merge in revision control systems. In: Proceedings of the symposium and the European conference on foundations of software engineering (ESEC/FSE). ACM, pp 190–200 Apel S, Liebig J, Brandl B, Lengauer C, Kästner C (2011) Semistructured merge: rethinking merge in revision control systems. In: Proceedings of the symposium and the European conference on foundations of software engineering (ESEC/FSE). ACM, pp 190–200
Zurück zum Zitat Apel S, Leßenich O, Lengauer C (2012) Structured merge with autotuning: balancing precision and performance. In: Proceedings of the international conference on automated software engineering (ASE) Apel S, Leßenich O, Lengauer C (2012) Structured merge with autotuning: balancing precision and performance. In: Proceedings of the international conference on automated software engineering (ASE)
Zurück zum Zitat Aranda J, Venolia G (2009) The secret life of bugs: going past the errors and omissions in software repositories. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 298–308 Aranda J, Venolia G (2009) The secret life of bugs: going past the errors and omissions in software repositories. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 298–308
Zurück zum Zitat Begel A, Khoo YP, Zimmermann T (2010) Codebook: Discovering and exploiting relationships in software repositories. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 125–134 Begel A, Khoo YP, Zimmermann T (2010) Codebook: Discovering and exploiting relationships in software repositories. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 125–134
Zurück zum Zitat Biehl J, Czerwinski M, Smith G, Robertson G (2007) FASTDash: a visual dashboard for fostering awareness in software teams. In: Proceedings of the conference on human factors in computing systems (CHI), ACM, pp 1313–1322 Biehl J, Czerwinski M, Smith G, Robertson G (2007) FASTDash: a visual dashboard for fostering awareness in software teams. In: Proceedings of the conference on human factors in computing systems (CHI), ACM, pp 1313–1322
Zurück zum Zitat Bird C, Pattison D, D’Souza R, Filkov V, Devanbu P (2008) Latent social structure in open source projects. In: Proceedings of the ACM SIGSOFT symposium on the foundations of software engineering (FSE). ACM, pp 24–35 Bird C, Pattison D, D’Souza R, Filkov V, Devanbu P (2008) Latent social structure in open source projects. In: Proceedings of the ACM SIGSOFT symposium on the foundations of software engineering (FSE). ACM, pp 24–35
Zurück zum Zitat Bird C, Nagappan N, Devanbu P, Gall H, Murphy B (2009) Does distributed development affect software quality? An empirical case study of windows vista. In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 518–528 Bird C, Nagappan N, Devanbu P, Gall H, Murphy B (2009) Does distributed development affect software quality? An empirical case study of windows vista. In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 518–528
Zurück zum Zitat Borges H, Valente MT (2018) What’s in a GitHub star? understanding repository starring practices in a social coding platform. J Syst Softw 146(1):112–129CrossRef Borges H, Valente MT (2018) What’s in a GitHub star? understanding repository starring practices in a social coding platform. J Syst Softw 146(1):112–129CrossRef
Zurück zum Zitat Brun Y, Holmes R, Ernst MD, Notkin D (2011) Proactive detection of collaboration conflicts. In: Proceedings of the European software engineering conference and the symposium on foundations of software engineering (ESEC/FSE). ACM, pp 168–178 Brun Y, Holmes R, Ernst MD, Notkin D (2011) Proactive detection of collaboration conflicts. In: Proceedings of the European software engineering conference and the symposium on foundations of software engineering (ESEC/FSE). ACM, pp 168–178
Zurück zum Zitat Dabbish L, Stuart C, Tsay J, Herbsleb J (2012) Social coding in GitHub: transparency and collaboration in an open software repository. In: Proceedings of the conference on computer supported cooperative work (CSCW). ACM, pp 1277–1286 Dabbish L, Stuart C, Tsay J, Herbsleb J (2012) Social coding in GitHub: transparency and collaboration in an open software repository. In: Proceedings of the conference on computer supported cooperative work (CSCW). ACM, pp 1277–1286
Zurück zum Zitat Dewan P, Hegde R (2007) Semi-synchronous conflict detection and resolution in asynchronous software development. In: Proceedings of the conference on european computer supported cooperative work (ECSCW). ACM, pp 159–178 Dewan P, Hegde R (2007) Semi-synchronous conflict detection and resolution in asynchronous software development. In: Proceedings of the conference on european computer supported cooperative work (ECSCW). ACM, pp 159–178
Zurück zum Zitat Dickersin K, Min Y, Meinert C (1992) Factors influencing publication of research results: follow-up of applications submitted to two institutional review boards. J Am Med Assoc 267(3):374–378CrossRef Dickersin K, Min Y, Meinert C (1992) Factors influencing publication of research results: follow-up of applications submitted to two institutional review boards. J Am Med Assoc 267(3):374–378CrossRef
Zurück zum Zitat Foucault M, Falleri J-R, Blanc X (2014) Code ownership in open-source software In: Proceedings of the international conference on evaluation and assessment in software engineering (EASE). ACM, pp 1–9 Foucault M, Falleri J-R, Blanc X (2014) Code ownership in open-source software In: Proceedings of the international conference on evaluation and assessment in software engineering (EASE). ACM, pp 1–9
Zurück zum Zitat Ghiotto G, Murta L, Barros M, van der Hoek A (2018) On the Nature of Merge Conflicts a Study of 2,731 Open Source Java Projects Hosted by Github. In: Transactions on software engineering (TSE), vol. 99 (1). IEEE, pp 1–25 Ghiotto G, Murta L, Barros M, van der Hoek A (2018) On the Nature of Merge Conflicts a Study of 2,731 Open Source Java Projects Hosted by Github. In: Transactions on software engineering (TSE), vol. 99 (1). IEEE, pp 1–25
Zurück zum Zitat Gousios G, Pinzger M, Deursen A (2014) An exploratory study of the pull-based software development model. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 345–355 Gousios G, Pinzger M, Deursen A (2014) An exploratory study of the pull-based software development model. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 345–355
Zurück zum Zitat Gousios G, Storey MA, Bacchelli A (2016) Work practices and challenges in pull-based development: The contributor’s perspective. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 285–296 Gousios G, Storey MA, Bacchelli A (2016) Work practices and challenges in pull-based development: The contributor’s perspective. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 285–296
Zurück zum Zitat Greiler M, Herzig K, Czerwonka J (2015) Code ownership and software quality: A replication study. In: Proceedings of the working conference on mining software repositories (MSR). IEEE, pp 2–12 Greiler M, Herzig K, Czerwonka J (2015) Code ownership and software quality: A replication study. In: Proceedings of the working conference on mining software repositories (MSR). IEEE, pp 2–12
Zurück zum Zitat Grinter RE, Herbsleb JD, Perry DE (1999) The geography of coordination: Dealing with distance in R & D work. In: Proceedings of the international ACM SIGGROUP conference on supporting group work (GROUP). ACM, pp 306–315 Grinter RE, Herbsleb JD, Perry DE (1999) The geography of coordination: Dealing with distance in R & D work. In: Proceedings of the international ACM SIGGROUP conference on supporting group work (GROUP). ACM, pp 306–315
Zurück zum Zitat Guimarães ML, Silva AR (2012) Improving early detection of software merge conflicts In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 342–352 Guimarães ML, Silva AR (2012) Improving early detection of software merge conflicts In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 342–352
Zurück zum Zitat Guzzi A, Bacchelli A, Lanza M, Pinzger M, Deursen A (2013) Communication in open source software development mailing lists In: Proceedings of the working conference on mining software repositories (MSR). IEEE, pp 277–286 Guzzi A, Bacchelli A, Lanza M, Pinzger M, Deursen A (2013) Communication in open source software development mailing lists In: Proceedings of the working conference on mining software repositories (MSR). IEEE, pp 277–286
Zurück zum Zitat Jerrold HZ (1972) Significance testing of the spearman rank correlation coefficient. J Am Stat Assoc 67(339):578–580. Taylor & Francis, LtdCrossRef Jerrold HZ (1972) Significance testing of the spearman rank correlation coefficient. J Am Stat Assoc 67(339):578–580. Taylor & Francis, LtdCrossRef
Zurück zum Zitat Joblin M, Mauerer W, Apel S, Siegmund J, Riehle D (2015) From developer networks to verified communities: A fine-grained approach. In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 563–573 Joblin M, Mauerer W, Apel S, Siegmund J, Riehle D (2015) From developer networks to verified communities: A fine-grained approach. In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 563–573
Zurück zum Zitat Joblin M, Apel S, Mauerer W (2017) Evolutionary trends of developer coordination: a network approach, vol 22 Joblin M, Apel S, Mauerer W (2017) Evolutionary trends of developer coordination: a network approach, vol 22
Zurück zum Zitat Jolliffe IT (2002) Principal component analysis. Springer Series in Statistics, Springer, 2nd edn., p 487 Jolliffe IT (2002) Principal component analysis. Springer Series in Statistics, Springer, 2nd edn., p 487
Zurück zum Zitat Just S, Herzig K, Czerwonka J, Murphy B (2016) Switching to Git: the good, the bad, and the ugly. In: Proceeding of the international symposium on software reliability engineering (ISSRE). IEEE, pp 400–411 Just S, Herzig K, Czerwonka J, Murphy B (2016) Switching to Git: the good, the bad, and the ugly. In: Proceeding of the international symposium on software reliability engineering (ISSRE). IEEE, pp 400–411
Zurück zum Zitat Kalliamvakou E, Gousios G, Blincoe K, Singer L, German D, Damian D (2014) The promises and perfils of mining GitHub. In: Proceedings of the working conference on mining software repositories (MSR). ACM, pp 92–101 Kalliamvakou E, Gousios G, Blincoe K, Singer L, German D, Damian D (2014) The promises and perfils of mining GitHub. In: Proceedings of the working conference on mining software repositories (MSR). ACM, pp 92–101
Zurück zum Zitat Kasi BK, Sarma A (2013) Cassandra: Proative conflict minimization through optimized task scheduling. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 732–741 Kasi BK, Sarma A (2013) Cassandra: Proative conflict minimization through optimized task scheduling. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 732–741
Zurück zum Zitat Kim S (2015) pcor: An R package for a fast calculation to semi-partial correlation coefficients. Communication for Statistical Applications and Methods 22(6):665–674CrossRef Kim S (2015) pcor: An R package for a fast calculation to semi-partial correlation coefficients. Communication for Statistical Applications and Methods 22(6):665–674CrossRef
Zurück zum Zitat LaToza TD, Venolia G, DeLine R (2006) Maintaining mental models: A study of developer work habits. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 492–501 LaToza TD, Venolia G, DeLine R (2006) Maintaining mental models: A study of developer work habits. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 492–501
Zurück zum Zitat Leßenich O, Siegmund J, Apel S, Kästner C, Hunsen C (2017) Indicators for merge conflicts in the wild: survey and empirical study. Autom Softw Eng 25(2):1–35. Springer Leßenich O, Siegmund J, Apel S, Kästner C, Hunsen C (2017) Indicators for merge conflicts in the wild: survey and empirical study. Autom Softw Eng 25(2):1–35. Springer
Zurück zum Zitat Liu J, Li J, He L (2016) A comparative study of the effects of pull request on GitHub projects. In: Annual computer software and applications conference (COMPSAC). IEEE, pp 313–322 Liu J, Li J, He L (2016) A comparative study of the effects of pull request on GitHub projects. In: Annual computer software and applications conference (COMPSAC). IEEE, pp 313–322
Zurück zum Zitat McKee S, Nelson N, Sarma A, Dig D (2017) Software Practitioner perspectives on merge conflicts and resolutions. In: Proceedings of the international conference on software maintenance and evolution (ICSME), IEEE, pp 467–478 McKee S, Nelson N, Sarma A, Dig D (2017) Software Practitioner perspectives on merge conflicts and resolutions. In: Proceedings of the international conference on software maintenance and evolution (ICSME), IEEE, pp 467–478
Zurück zum Zitat Mens T (2002) A state-of-the-art survey on software merging, vol 28. IEEE Mens T (2002) A state-of-the-art survey on software merging, vol 28. IEEE
Zurück zum Zitat Nelson N, Brindescu C, McKee S, Sarma A, Dig D (2019) The life-cycle of merge conflicts: processes, barriers, and strategies. Empirical software engineering, online first, Springer, pp 1–44 Nelson N, Brindescu C, McKee S, Sarma A, Dig D (2019) The life-cycle of merge conflicts: processes, barriers, and strategies. Empirical software engineering, online first, Springer, pp 1–44
Zurück zum Zitat Olson C, Rennie D, Cook D, Dickersin K, Flanagin A, Hogan J, Zhu Q, Reiling J, Pace B (2002) Publication bias in editorial decision making. J Am Med Assoc 287(21):2825–2828CrossRef Olson C, Rennie D, Cook D, Dickersin K, Flanagin A, Hogan J, Zhu Q, Reiling J, Pace B (2002) Publication bias in editorial decision making. J Am Med Assoc 287(21):2825–2828CrossRef
Zurück zum Zitat Panichella S, Bavota G, Penta MD, Canfora G, Antoniol G (2014) How developers’ collaborations identified from different sources tell us about code changes. In: Proceeding of the international conference on software maintenance and evolution (ICSME). IEEE, pp 251–260 Panichella S, Bavota G, Penta MD, Canfora G, Antoniol G (2014) How developers’ collaborations identified from different sources tell us about code changes. In: Proceeding of the international conference on software maintenance and evolution (ICSME). IEEE, pp 251–260
Zurück zum Zitat Reiter E, Robertson R, Osman L (2003) Lessons from a failure: generating tailored smoking cessation letters. Artif Intell 144(1-2):41–58. ElsevierCrossRef Reiter E, Robertson R, Osman L (2003) Lessons from a failure: generating tailored smoking cessation letters. Artif Intell 144(1-2):41–58. ElsevierCrossRef
Zurück zum Zitat Sarma A, Redmiles DF, van der Hoek A (2012) Palantír: Early detection of development conflicts arising from parallel code changes, vol 38. IEEE Sarma A, Redmiles DF, van der Hoek A (2012) Palantír: Early detection of development conflicts arising from parallel code changes, vol 38. IEEE
Zurück zum Zitat Sedano T, Ralph P, Péraire C (2017) Software development waste. In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 130–140 Sedano T, Ralph P, Péraire C (2017) Software development waste. In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 130–140
Zurück zum Zitat Siegmund J, Schumann J (2015) Confounding parameters on program comprehension: a literature survey. Empir Softw Eng 20(4):1159–1192CrossRef Siegmund J, Schumann J (2015) Confounding parameters on program comprehension: a literature survey. Empir Softw Eng 20(4):1159–1192CrossRef
Zurück zum Zitat Singer L, Figueira Filho F, Cleary B, Treude C, Storey MA, Schneider K (2013) Mutual assessment in the social programmer ecosystem: an empirical investigation of developer profile aggregators. In: Proceedings of the conference on computer supported cooperative work (CSCW). ACM, pp 103–116 Singer L, Figueira Filho F, Cleary B, Treude C, Storey MA, Schneider K (2013) Mutual assessment in the social programmer ecosystem: an empirical investigation of developer profile aggregators. In: Proceedings of the conference on computer supported cooperative work (CSCW). ACM, pp 103–116
Zurück zum Zitat Souza CRB, Redmiles D, Cheng L, Millen D, Patterson J (2004) How a good software practice thwarts collaboration: the multiple roles of apis in software development. SIGSOFT Software Engineering Notes 29(6):221–230CrossRef Souza CRB, Redmiles D, Cheng L, Millen D, Patterson J (2004) How a good software practice thwarts collaboration: the multiple roles of apis in software development. SIGSOFT Software Engineering Notes 29(6):221–230CrossRef
Zurück zum Zitat Storey MA, Zagalsky A, Figueira Filho F, Singer L, German DM (2016) How social and communication channels shape and challenge a participatory culture in software development, vol 43 Storey MA, Zagalsky A, Figueira Filho F, Singer L, German DM (2016) How social and communication channels shape and challenge a participatory culture in software development, vol 43
Zurück zum Zitat Teo T (2014) Handbook of quantitative methods for educational research. SensePublishers, pp 404 Teo T (2014) Handbook of quantitative methods for educational research. SensePublishers, pp 404
Zurück zum Zitat Tsay J, Dabbish L, Herbsleb J (2014) Influence of social and technical factors for evaluating contribution in GitHub. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 356–366 Tsay J, Dabbish L, Herbsleb J (2014) Influence of social and technical factors for evaluating contribution in GitHub. In: Proceedings of the international conference on software engineering (ICSE). ACM, pp 356–366
Zurück zum Zitat Vale G, Fernandes E, Figueiredo E (2018) On the proposal and evaluation of a benchmark-based threshold derivation method. Softw Qual J 27(1):1–32 Vale G, Fernandes E, Figueiredo E (2018) On the proposal and evaluation of a benchmark-based threshold derivation method. Softw Qual J 27(1):1–32
Zurück zum Zitat Wright SP (1992) Adjusted P-values for simultaneous inference. Biometrics 48 (4):1005–1013. WileyCrossRef Wright SP (1992) Adjusted P-values for simultaneous inference. Biometrics 48 (4):1005–1013. WileyCrossRef
Zurück zum Zitat Zimmermann T, Weisgerber P, Diehl S, Zeller A (2004) Mining version histories to guide software changes. In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 563–572 Zimmermann T, Weisgerber P, Diehl S, Zeller A (2004) Mining version histories to guide software changes. In: Proceedings of the international conference on software engineering (ICSE). IEEE, pp 563–572
Metadaten
Titel
On the relation between Github communication activity and merge conflicts
verfasst von
Gustavo Vale
Angelika Schmid
Alcemir Rodrigues Santos
Eduardo Santana de Almeida
Sven Apel
Publikationsdatum
07.09.2019
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 1/2020
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-019-09774-x

Weitere Artikel der Ausgabe 1/2020

Empirical Software Engineering 1/2020 Zur Ausgabe

Premium Partner