Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2950290.2950339acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

TIPMerge: recommending experts for integrating changes across branches

Published: 01 November 2016 Publication History

Abstract

Parallel development in branches is a common software practice. However, past work has found that integration of changes across branches is not easy, and often leads to failures. Thus far, there has been little work to recommend developers who have the right expertise to perform a branch integration. We propose TIPMerge, a novel tool that recommends developers who are best suited to perform merges, by taking into consideration developers’ past experience in the project, their changes in the branches, and de-pendencies among modified files in the branches. We evaluated TIPMerge on 28 projects, which included up to 15,584 merges with at least two developers, and potentially conflicting changes. On average, 85% of the top-3 recommendations by TIPMerge correctly included the developer who performed the merge. Best (accuracy) results of recommendations were at 98%. Our inter-views with developers of two projects reveal that in cases where the TIPMerge recommendation did not match the actual merge developer, the recommended developer had the expertise to per-form the merge, or was involved in a collaborative merge session.

References

[1]
Agrawal, R. and Srikant, R. 1994. Fast Algorithms for Mining Association Rules in Large Databases. Proceedings of the 20th International Conference on Very Large Data Bases (San Francisco, CA, USA, 1994), 487–499.
[2]
Bang, J. young, Popescu, D., Edwards, G., Medvidovic, N., Kulkarni, N., Rama, G.M. and Padmanabhuni, S. 2010.
[3]
CoDesign: a highly extensible collaborative software modeling framework. (May 2010), 243 –246.
[4]
Bird, C. and Zimmermann, T. 2012. Assessing the Value of Branches with What-if Analysis. ACM SIGSOFT Int’l Symp. Foundations of Software Eng (FSE) (New York, NY, USA, 2012), 45:1–45:11.
[5]
Bird, C., Zimmermann, T. and Teterev, A. 2011. A theory of branches as goals and virtual teams. 4th International Workshop on Cooperative and Human Aspects of Software Engineering (New York, NY, USA, 2011), 53–56.
[6]
Brun, Y., Holmes, R., Ernst, M.D. and Notkin, D. 2011. Proactive detection of collaboration conflicts. ACM SIGSOFT Int’l Symp. Foundations of Software Eng. (FSE) (2011), 168–178.
[7]
Cataldo, M., Herbsleb, J.D. and Carley, K.M. 2008. Sociotechnical Congruence: A Framework for Assessing the Impact of Technical and Work Dependencies on Software Development Productivity. Proceedings of the Second ACMIEEE International Symposium on Empirical Software Engineering and Measurement (New York, NY, USA, 2008), 2–11.
[8]
Cataldo, M., Wagstrom, P.A., Herbsleb, J.D. and Carley, K.M. 2006. Identification of coordination requirements: implications for the Design of collaboration and awareness tools. 20th anniversary conference on Computer supported cooperative work (CSCW) (2006), 353–362.
[9]
Costa, C., Figueiredo, J.J.C., Ghiotto, G. and Murta, L. 2014. Characterizing the Problem of Developers’ Assignment for Merging Branches. International Journal of Software Engineering and Knowledge Engineering (IJSEKE). 24, 10 (2014), 1489–1508.
[10]
Costa, C., Figueirêdo, J.J.C. and Murta, L. 2014. Collaborative Merge in Distributed Software Development: Who Should Participate? The International Conference on Software Engineering and Knowledge Engineering (SEKE) (Vancouver, Canada, 2014), 268–273.
[11]
Costa, C., Figueiredo, J.J.C., Murta, L. and Sarma, A. 2016. TIPMerge: Recommending Developers for Merging Branches. ACM SIGSOFT Int’l Symp. Foundations of Software Eng. (FSE) Tool Demonstration Paper. (Seattle, WA, USA, 2016).
[12]
Estler, H.C., Nordio, M., Furia, C.A. and Meyer, B. 2013. Unifying Configuration Management with Merge Conflict Detection and Awareness Systems. 2nd Australian Software Engineering Conference (ASWEC) (Washington, DC, USA, 2013), 201–210.
[13]
Gousios, G., Pinzger, M. and Deursen, A. van 2014. An Exploratory Study of the Pull-based Software Development Model. International Conference on Software Engineering (ICSE) (Hyderabad, India, 2014), 345–355.
[14]
Guimarães, M.L. and Silva, A.R. 2012. Improving early detection of software merge conflicts. 34th International Conference on Software Engineering (ICSE) (Piscataway, NJ, USA, 2012), 342–352.
[15]
Hattori, L. and Lanza, M. 2010. Syde: a tool for collaborative software development. 2010 ACM/IEEE 32nd International Conference on Software Engineering (May 2010), 235 –238.
[16]
Jiang, J., He, J.-H. and Chen, X.-Y. 2015. CoreDevRec: Automatic Core Member Recommendation for Contribution Evaluation. Journal of Computer Science and Technology. 30, 5 (Sep. 2015), 998–1016.
[17]
Kagdi, H., Gethers, M., Poshyvanyk, D. and Hammad, M. 2012. Assigning change requests to software developers. Journal of Software: Evolution and Process. 24, 1 (2012), 3–33.
[18]
Koegel, M., Naughton, H., Helming, J. and Herrmannsdoerfer, M. 2010. Collaborative model merging. ACM international conference companion on Object oriented programming systems languages and applications companion (New York, NY, USA, 2010), 27–34.
[19]
Lautamäki, J., Nieminen, A., Koskinen, J., Aho, T., Mikkonen, T. and Englund, M. 2012. CoRED: browser-based Collaborative Real-time Editor for Java web applications. ACM 2012 conference on Computer Supported Cooperative Work (New York, NY, USA, 2012), 1307–1316.
[20]
De Lima Júnior, M.L., Soares, D.M., Plastino, A. and Murta, L. 2015. Developers Assignment for Analyzing Pull Requests. Proceedings of the 30th Annual ACM Symposium on Applied Computing (New York, NY, USA, 2015), 1567– 1572.
[21]
Minto, S. and Murphy, G.C. 2007. Recommending Emergent Teams. Fourth International Workshop on Mining Software Repositories (MSR) (Washington, DC, USA, 2007), 5–.
[22]
Mockus, A. and Herbsleb, J.D. 2002. Expertise Browser: A Quantitative Approach to Identifying Expertise. 24th International Conference on Software Engineering (ICSE) (New York, NY, USA, 2002), 503–512.
[23]
Murphy, G. and Cubranic, D. 2004. Automatic bug triage using text categorization. Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering (2004).
[24]
Nieminen, A. 2012. Real-time collaborative resolving of merge conflicts. 2012 8th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom) (2012), 540–543.
[25]
Oliva, G.A. and Gerosa, M.A. 2011. On the Interplay between Structural and Logical Dependencies in Open-Source Software. 2011 25th Brazilian Symposium on Software Engineering (SBES) (Sep. 2011), 144–153.
[26]
Pappa, G.L. and Freitas, A.A. 2006. Automatically evolving rule induction algorithms. Machine Learning: ECML 2006.
[27]
Springer. 341–352.
[28]
Portillo-Rodriguez, J., Vizcaino, A., Ebert, C. and Piattini, M. 2010. Tools to Support Global Software Development Processes: A Survey. 5th IEEE International Conference on Global Software Engineering (ICGSE) (2010), 13–22.
[29]
Sarma, A., Redmiles, D. and van der Hoek, A. 2012. Palantir: Early Detection of Development Conflicts Arising from Parallel Code Changes. IEEE Trans. Softw. Eng. 38, 4 (Jul. 2012), 889–908.
[30]
Schuler, D. and Zimmermann, T. 2008. Mining Usage Expertise from Version Archives. International working conference on Mining software repositories (MSR) (New York, NY, USA, 2008), 121–124.
[31]
Shihab, E., Bird, C. and Zimmermann, T. 2012. The Effect of Branching Strategies on Software Quality. ACM-IEEE international symposium on Empirical software engineering and measurement (ESEM) (New York, NY, USA, 2012), 301–310.
[32]
Da Silva, J.R., Clua, E., Murta, L. and Sarma, A. 2015. Niche vs. breadth: Calculating expertise over time through a fine-grained analysis. 2015 IEEE 22nd International Conference on Software Analysis, Evolution and Reengineering (SANER) (2015), 409–418.
[33]
Da Silva Junior, J.R., Clua, E., Murta, L. and Sarma, A. 2014. Exploratory Data Analysis of Software Repositories via GPU Processing. The International Conference on Software Engineering and Knowledge Engineering (SEKE) (Vancouver, Canada, 2014), 495–500.
[34]
Wloka, J., Ryder, B., Tip, F. and Ren, X. 2009. Safe-commit Analysis to Facilitate Team Software Development. 31st International Conference on Software Engineering (ICSE) (Washington, DC, USA, 2009), 507–517.
[35]
Yu, Y., Wang, H., Yin, G. and Ling, C.X. 2015. Reviewer Recommender of Pull-Requests in GitHub. IEEE International Conference on Software Maintenance and Evolution (Victoria, BC, 2015), 609–612.
[36]
Yu, Y., Wang, H., Yin, G. and Ling, C.X. 2014. Who Should Review this Pull-Request: Reviewer Recommendation to Expedite Crowd Collaboration. Software Engineering Conference (APSEC), 2014 21st Asia-Pacific (Jeju, 2014), 335–342.
[37]
Zimmermann, T., Dallmeier, V., Halachev, K. and Zeller, A. 2005. eROSE: guiding programmers in eclipse. Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (2005), 186–187.
[38]
Zimmermann, T., Weisgerber, P., Diehl, S. and Zeller, A. 2004. Mining Version Histories to Guide Software Changes. Proceedings of the 26th International Conference on Software Engineering (ICSE) (Washington, DC, USA, 2004), 563–572.

Cited By

View all
  • (2024)Model to reduce DevOps pipeline execution time using SASTInternational Journal of System Assurance Engineering and Management10.1007/s13198-024-02262-615:5(1999-2009)Online publication date: 30-May-2024
  • (2023)Spork: Structured Merge for Java With Formatting PreservationIEEE Transactions on Software Engineering10.1109/TSE.2022.314376649:1(64-83)Online publication date: 1-Jan-2023
  • (2023)Towards accurate recommendations of merge conflicts resolution strategiesInformation and Software Technology10.1016/j.infsof.2023.107332164(107332)Online publication date: Dec-2023
  • Show More Cited By

Index Terms

  1. TIPMerge: recommending experts for integrating changes across branches

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    FSE 2016: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering
    November 2016
    1156 pages
    ISBN:9781450342186
    DOI:10.1145/2950290
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 November 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Branch Merge
    2. Expertise Recommendation
    3. Version Control

    Qualifiers

    • Research-article

    Conference

    FSE'16
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 128 submissions, 13%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 21 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Model to reduce DevOps pipeline execution time using SASTInternational Journal of System Assurance Engineering and Management10.1007/s13198-024-02262-615:5(1999-2009)Online publication date: 30-May-2024
    • (2023)Spork: Structured Merge for Java With Formatting PreservationIEEE Transactions on Software Engineering10.1109/TSE.2022.314376649:1(64-83)Online publication date: 1-Jan-2023
    • (2023)Towards accurate recommendations of merge conflicts resolution strategiesInformation and Software Technology10.1016/j.infsof.2023.107332164(107332)Online publication date: Dec-2023
    • (2022)Profiling developers to predict vulnerable code changesProceedings of the 18th International Conference on Predictive Models and Data Analytics in Software Engineering10.1145/3558489.3559069(32-41)Online publication date: 7-Nov-2022
    • (2022)Identifying Source Code File ExpertsProceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546243(125-136)Online publication date: 19-Sep-2022
    • (2022)Language-agnostic dynamic analysis of multilingual code: promises, pitfalls, and prospectsProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3560880(1621-1626)Online publication date: 7-Nov-2022
    • (2022)Program merge conflict resolution via neural transformersProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549163(822-833)Online publication date: 7-Nov-2022
    • (2022)A mixed-methods analysis of micro-collaborative coding practices in OpenStackEmpirical Software Engineering10.1007/s10664-022-10167-w27:5Online publication date: 18-Jun-2022
    • (2022)A unified multi-task learning model for AST-level and token-level code completionEmpirical Software Engineering10.1007/s10664-022-10140-727:4Online publication date: 1-Jul-2022
    • (2021)ConE: A Concurrent Edit Detection Tool for Large-scale Software DevelopmentACM Transactions on Software Engineering and Methodology10.1145/347801931:2(1-26)Online publication date: 24-Dec-2021
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media