Skip to main content
Erschienen in: Automated Software Engineering 2/2018

09.09.2017

Indicators for merge conflicts in the wild: survey and empirical study

verfasst von: Olaf Leßenich, Janet Siegmund, Sven Apel, Christian Kästner, Claus Hunsen

Erschienen in: Automated Software Engineering | Ausgabe 2/2018

Einloggen

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

search-config
loading …

Abstract

While the creation of new branches and forks is easy and fast with modern version-control systems, merging is often time-consuming. Especially when dealing with many branches or forks, a prediction of merge costs based on lightweight indicators would be desirable to help developers recognize problematic merging scenarios before potential conflicts become too severe in the evolution of a complex software project. We analyze the predictive power of several indicators, such as the number, size or scattering degree of commits in each branch, derived either from the version-control system or directly from the source code. Based on a survey of 41 developers, we inferred 7 potential indicators to predict the number of merge conflicts. We tested corresponding hypotheses by studying 163 open-source projects, including 21,488 merge scenarios and comprising 49,449,773 lines of code. A notable (negative) result is that none of the 7 indicators suggested by the participants of the developer survey has a predictive power concerning the frequency of merge conflicts. We discuss this and other findings as well as perspectives thereof.

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

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!

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"

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!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
5
n-way merges in Git.
 
8
large data set, easily significant, no value for any claims.
 
10
Only the last suggestion, studying only merge scenarios with conflicts, leads to high correlations that, however, are meaningless because this approach neglects the fact that merge scenarios indeed often have zero conflicts.
 
Literatur
Zurück zum Zitat Anderson, T., Finn, J.: The New Statistical Analysis of Data. Springer, Berlin (1996)CrossRefMATH Anderson, T., Finn, J.: The New Statistical Analysis of Data. Springer, Berlin (1996)CrossRefMATH
Zurück zum Zitat Antkiewicz, M., Ji, W., Berger, T., Czarnecki, K., Schmorleiz, T., Lämmel, R., Stănciulescu, t., Wąsowski, A., Schaefer, I.: Flexible product line engineering with a virtual platform. In: Companion Volume ICSE, pp. 532–535. ACM (2014) Antkiewicz, M., Ji, W., Berger, T., Czarnecki, K., Schmorleiz, T., Lämmel, R., Stănciulescu, t., Wąsowski, A., Schaefer, I.: Flexible product line engineering with a virtual platform. In: Companion Volume ICSE, pp. 532–535. ACM (2014)
Zurück zum Zitat Apel, S., Liebig, J., Brandl, B., Lengauer, C., Kästner, C.: Semistructured merge: rethinking merge in revision control systems. In: Proc. ESEC/FSE, pp. 190–200. ACM (2011) Apel, S., Liebig, J., Brandl, B., Lengauer, C., Kästner, C.: Semistructured merge: rethinking merge in revision control systems. In: Proc. ESEC/FSE, pp. 190–200. ACM (2011)
Zurück zum Zitat Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., Wąsowski, A.: A survey of variability modeling in industrial practice. In: Proc. Int. Workshop on Variability Modelling of Software-Intensive Systems (VaMoS), pp. 7:1–7:8. ACM (2013) Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., Wąsowski, A.: A survey of variability modeling in industrial practice. In: Proc. Int. Workshop on Variability Modelling of Software-Intensive Systems (VaMoS), pp. 7:1–7:8. ACM (2013)
Zurück zum Zitat Bettenburg, N., Hassan, A.: Studying the impact of social structures on software quality. In: Proc. ICPC, pp. 124–133. IEEE (2010) Bettenburg, N., Hassan, A.: Studying the impact of social structures on software quality. In: Proc. ICPC, pp. 124–133. IEEE (2010)
Zurück zum Zitat Biehl, J.T., Czerwinski, M., Smith, G., Robertson, G.G.: FASTDash: A visual dashboard for fostering awareness in software teams. In: Proc. CHI, pp. 1313–1322. ACM (2007) Biehl, J.T., Czerwinski, M., Smith, G., Robertson, G.G.: FASTDash: A visual dashboard for fostering awareness in software teams. In: Proc. CHI, pp. 1313–1322. ACM (2007)
Zurück zum Zitat Bird, C., Zimmermann, T.: Assessing the value of branches with what-if analysis. In: Proc. ACM SIGSOFT FSE, pp. 45:1–45:11. ACM (2012) Bird, C., Zimmermann, T.: Assessing the value of branches with what-if analysis. In: Proc. ACM SIGSOFT FSE, pp. 45:1–45:11. ACM (2012)
Zurück zum Zitat Brun, Y., Holmes, R., Ernst, M.D., Notkin, D.: Proactive detection of collaboration conflicts. In: Proc. ESEC/FSE, pp. 168–178. ACM (2011) Brun, Y., Holmes, R., Ernst, M.D., Notkin, D.: Proactive detection of collaboration conflicts. In: Proc. ESEC/FSE, pp. 168–178. ACM (2011)
Zurück zum Zitat Catal, C., Diri, B.: A systematic review of software fault prediction studies. Expert Syst. Appl. 36(4), 7346–7354 (2009)CrossRef Catal, C., Diri, B.: A systematic review of software fault prediction studies. Expert Syst. Appl. 36(4), 7346–7354 (2009)CrossRef
Zurück zum Zitat Dewan, P., Hegde, R.: Semi-synchronous conflict detection and resolution in asynchronous software development. In: Proc. ECSCW, pp. 159–178. Springer (2007) Dewan, P., Hegde, R.: Semi-synchronous conflict detection and resolution in asynchronous software development. In: Proc. ECSCW, pp. 159–178. Springer (2007)
Zurück zum Zitat Dig, D., Manzoor, K., Johnson, R., Nguyen, T.N.: Effective software merging in the presence of object-oriented refactorings. IEEE TSE 34(3), 321–335 (2008) Dig, D., Manzoor, K., Johnson, R., Nguyen, T.N.: Effective software merging in the presence of object-oriented refactorings. IEEE TSE 34(3), 321–335 (2008)
Zurück zum Zitat Dubinsky, Y., Rubin, J., Berger, T., Duszynski, S., Becker, M., Czarnecki, K.: An exploratory study of cloning in industrial software product lines. In: Proc. CSMR, pp. 25–34. IEEE (2013) Dubinsky, Y., Rubin, J., Berger, T., Duszynski, S., Becker, M., Czarnecki, K.: An exploratory study of cloning in industrial software product lines. In: Proc. CSMR, pp. 25–34. IEEE (2013)
Zurück zum Zitat Duszynski, S., Knodel, J., Becker, M.: Analyzing the source code of multiple software variants for reuse potential. In: Proc. WCRE, pp. 303–307. IEEE (2011) Duszynski, S., Knodel, J., Becker, M.: Analyzing the source code of multiple software variants for reuse potential. In: Proc. WCRE, pp. 303–307. IEEE (2011)
Zurück zum Zitat El Emam, K., Benlarbi, S., Goel, N., Rai, S.N.: The confounding effect of class size on the validity of object-oriented metrics. IEEE TSE 27(7), 630–650 (2001) El Emam, K., Benlarbi, S., Goel, N., Rai, S.N.: The confounding effect of class size on the validity of object-oriented metrics. IEEE TSE 27(7), 630–650 (2001)
Zurück zum Zitat Faust, D., Verhoef, C.: Software product line migration and deployment. Softw. Pract. Exp. 33(10), 933–955 (2003)CrossRef Faust, D., Verhoef, C.: Software product line migration and deployment. Softw. Pract. Exp. 33(10), 933–955 (2003)CrossRef
Zurück zum Zitat Guimarães, M.L., Silva, A.R.: Improving early detection of software merge conflicts. In: Proc. ICSE, pp. 342–352. IEEE (2012) Guimarães, M.L., Silva, A.R.: Improving early detection of software merge conflicts. In: Proc. ICSE, pp. 342–352. IEEE (2012)
Zurück zum Zitat Gyimothy, T., Ferenc, R., Siket, I.: Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE TSE 31(10), 897–910 (2005) Gyimothy, T., Ferenc, R., Siket, I.: Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE TSE 31(10), 897–910 (2005)
Zurück zum Zitat Hattori, L., Lanza, M.: Syde: A tool for collaborative software development. In: Companion Volume ICSE, pp. 235–238. ACM (2010) Hattori, L., Lanza, M.: Syde: A tool for collaborative software development. In: Companion Volume ICSE, pp. 235–238. ACM (2010)
Zurück zum Zitat Hudson, W.: Card sorting. In: Guide to Advanced Empirical Software Engineering, The Interaction Design Foundation (2013) Hudson, W.: Card sorting. In: Guide to Advanced Empirical Software Engineering, The Interaction Design Foundation (2013)
Zurück zum Zitat Jedlitschka, A., Pfahl, D.: Reporting Guidelines for Controlled Experiments in Software Engineering. In: Proc. ESE, pp. 95–104. IEEE (2005) Jedlitschka, A., Pfahl, D.: Reporting Guidelines for Controlled Experiments in Software Engineering. In: Proc. ESE, pp. 95–104. IEEE (2005)
Zurück zum Zitat Joblin, M., Mauerer, W., Apel, S., Siegmund, J., Riehle, D.: From Developer Networks to Verified Communities: A Fine-Grained Approach. In: Proc. ICSE, pp. 563–573. IEEE (2015) Joblin, M., Mauerer, W., Apel, S., Siegmund, J., Riehle, D.: From Developer Networks to Verified Communities: A Fine-Grained Approach. In: Proc. ICSE, pp. 563–573. IEEE (2015)
Zurück zum Zitat Kim, M., Notkin, D., Grossman, D.: Automatic Inference of Structural Changes for Matching Across Program Versions. In: Proc. ICSE, pp. 333–343. IEEE (2007) Kim, M., Notkin, D., Grossman, D.: Automatic Inference of Structural Changes for Matching Across Program Versions. In: Proc. ICSE, pp. 333–343. IEEE (2007)
Zurück zum Zitat Leßenich, O., Apel, S., Lengauer, C.: Balancing precision and performance in structured merge. Autom. Softw. Eng. 22, 1–31 (2014) Leßenich, O., Apel, S., Lengauer, C.: Balancing precision and performance in structured merge. Autom. Softw. Eng. 22, 1–31 (2014)
Zurück zum Zitat Mahouachi, R., Kessentini, M., Cinnéide, M.Ó.: Search-based refactoring detection. In: Proc. Int. Conference Genetic and Evolutionary Computation Conference (GECCO), pp. 205–206 (2013) Mahouachi, R., Kessentini, M., Cinnéide, M.Ó.: Search-based refactoring detection. In: Proc. Int. Conference Genetic and Evolutionary Computation Conference (GECCO), pp. 205–206 (2013)
Zurück zum Zitat Mens, T.: A state-of-the-art survey on software merging. IEEE TSE 28(5), 449–462 (2002) Mens, T.: A state-of-the-art survey on software merging. IEEE TSE 28(5), 449–462 (2002)
Zurück zum Zitat Muşlu, K., Bird, C., Nagappan, N., Czerwonka, J.: Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomes. In: Proc. ICSE, pp. 334–344. ACM (2014) Muşlu, K., Bird, C., Nagappan, N., Czerwonka, J.: Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomes. In: Proc. ICSE, pp. 334–344. ACM (2014)
Zurück zum Zitat Nagappan, N., Ball, T.: Making software: what really works, and why we believe it. O’Reilly, chap Evidence-based Failure Prediction, pp. 415–434 (2010) Nagappan, N., Ball, T.: Making software: what really works, and why we believe it. O’Reilly, chap Evidence-based Failure Prediction, pp. 415–434 (2010)
Zurück zum Zitat Pinzger, M., Gall, H., Girard, J.F., Knodel, J., Riva, C., Pasman, W., Broerse, C., Wijnstra, J.G.: Architecture recovery for product families. In: Proc. Workshop Software Product-Family Engineering, pp. 332–351. Springer (2003) Pinzger, M., Gall, H., Girard, J.F., Knodel, J., Riva, C., Pasman, W., Broerse, C., Wijnstra, J.G.: Architecture recovery for product families. In: Proc. Workshop Software Product-Family Engineering, pp. 332–351. Springer (2003)
Zurück zum Zitat Potdar, A., Shihab, E.: An exploratory study on self-admitted technical debt. In: Proc. ICSME. IEEE (2014) Potdar, A., Shihab, E.: An exploratory study on self-admitted technical debt. In: Proc. ICSME. IEEE (2014)
Zurück zum Zitat Rubin, J., Chechik, M.: N-way model merging. In: Proc. ESEC/FSE, pp. 301–311. ACM (2013) Rubin, J., Chechik, M.: N-way model merging. In: Proc. ESEC/FSE, pp. 301–311. ACM (2013)
Zurück zum Zitat Rubin, J., Czarnecki, K., Chechik, M.: Managing cloned variants: a framework and experience. In: Proc. SPLC, pp. 101–110. ACM (2013) Rubin, J., Czarnecki, K., Chechik, M.: Managing cloned variants: a framework and experience. In: Proc. SPLC, pp. 101–110. ACM (2013)
Zurück zum Zitat Ryssel, U., Ploennigs, J., Kabitzsch, K.: Automatic variation-point identification in function-block-based models. In: Proc. GPCE, pp. 23–32. ACM (2010) Ryssel, U., Ploennigs, J., Kabitzsch, K.: Automatic variation-point identification in function-block-based models. In: Proc. GPCE, pp. 23–32. ACM (2010)
Zurück zum Zitat Sarma, A., Noroozi, Z., van der Hoek, A.: Palantír: Raising awareness among configuration management workspaces. In: Proc. ICSE, pp. 444–454. IEEE (2003) Sarma, A., Noroozi, Z., van der Hoek, A.: Palantír: Raising awareness among configuration management workspaces. In: Proc. ICSE, pp. 444–454. IEEE (2003)
Zurück zum Zitat Sarma, A., Redmiles, D., van der Hoek, A.: Palantír: early detection of development conflicts arising from parallel code changes. IEEE TSE 38(4), 889–908 (2012) Sarma, A., Redmiles, D., van der Hoek, A.: Palantír: early detection of development conflicts arising from parallel code changes. IEEE TSE 38(4), 889–908 (2012)
Zurück zum Zitat Siegmund, J., Schumann, J.: Confounding parameters on program comprehension: a literature survey. Empir. Softw. Eng. 20(4), 1159–1192 (2014)CrossRef Siegmund, J., Schumann, J.: Confounding parameters on program comprehension: a literature survey. Empir. Softw. Eng. 20(4), 1159–1192 (2014)CrossRef
Zurück zum Zitat Siegmund, J., Siegmund, N., Apel, S.: Views on internal and external validity in empirical software engineering. In: Proc. ICSE, pp. 9–19. IEEE (2015) Siegmund, J., Siegmund, N., Apel, S.: Views on internal and external validity in empirical software engineering. In: Proc. ICSE, pp. 9–19. IEEE (2015)
Zurück zum Zitat Stanciulescu, S., Schulze, S., Wasowski, A.: Forked and integrated variants in an open-source firmware project. In: Proc. ICSME, pp. 151–160 (2015) Stanciulescu, S., Schulze, S., Wasowski, A.: Forked and integrated variants in an open-source firmware project. In: Proc. ICSME, pp. 151–160 (2015)
Zurück zum Zitat Staples, M., Hill, D.: Experiences Adopting Software Product Line Development without a Product Line Architecture. In: Proc. APSEC, pp. 176–183. IEEE (2004) Staples, M., Hill, D.: Experiences Adopting Software Product Line Development without a Product Line Architecture. In: Proc. APSEC, pp. 176–183. IEEE (2004)
Zurück zum Zitat Tian, Y., Lawall, J., Lo, D.: Identifying Linux bug fixing patches. In: Proc. ICSE, pp. 386–396. ACM (2012) Tian, Y., Lawall, J., Lo, D.: Identifying Linux bug fixing patches. In: Proc. ICSE, pp. 386–396. ACM (2012)
Zurück zum Zitat Tsay, J., Dabbish, L., Herbsleb, J.: Influence of social and technical factors for evaluating contribution in GitHub. In: Proc. ICSE, pp. 356–366. ACM (2014) Tsay, J., Dabbish, L., Herbsleb, J.: Influence of social and technical factors for evaluating contribution in GitHub. In: Proc. ICSE, pp. 356–366. ACM (2014)
Metadaten
Titel
Indicators for merge conflicts in the wild: survey and empirical study
verfasst von
Olaf Leßenich
Janet Siegmund
Sven Apel
Christian Kästner
Claus Hunsen
Publikationsdatum
09.09.2017
Verlag
Springer US
Erschienen in
Automated Software Engineering / Ausgabe 2/2018
Print ISSN: 0928-8910
Elektronische ISSN: 1573-7535
DOI
https://doi.org/10.1007/s10515-017-0227-0

Weitere Artikel der Ausgabe 2/2018

Automated Software Engineering 2/2018 Zur Ausgabe