Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3378936.3378951acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicsimConference Proceedingsconference-collections
research-article

Continuous Conflict Prediction during Collaborative Software Development: A step-before Continuous Integration

Published: 07 March 2020 Publication History

Abstract

Concurrent activities of collaborative developers over shared project repositories might lead to direct and indirect conflicts. Software Configuration Management systems are designed to capture direct or merge conflicts which arise due to concurrent editing of same shared artifact. However, inconsistencies caused owing to indirect conflicts which arise because of concurrent editing of related artifacts might enter the codebase, since SCM systems have limited capabilities to capture these. Although, Continuous Integration process which is deployed to build the entire codebase with every commit, is quite effective in capturing several type of inconsistencies. However, still few categories of behavioral semantic inconsistencies might evade the build process and penetrate into codebase. In this paper, we propose the Continuous Conflict Prediction Framework which describes a cyclic, real-time, continuous process for conflict prediction which is executed during the process of code creation by collaborative developers. This framework entails a critical conflict-prediction and awareness-generation process which helps in capturing conflicts during development process itself and hence minimizes the number of conflicts entering the project codebase. The proposed framework is realized through implementation of the tool named Collaboration Over GitHub.

References

[1]
Arora, R., and Goel, S. 2015. Investigating Syntactic and Semantic Inconsistencies in Collaborative Software Development. In Proceedings of the 2015 Eighth International Conference on Contemporary Computing (IC3). IEEE, 2015, 509--515.
[2]
Arora, R., and Goel, S. 2019. JavaRelationshipGraphs (JRG): Transforming Java Projects into Graphs using Neo4j Graph Databases. In Proceedings of the 2nd International Conference on Software Engineering and Information Management. ACM, 2019, 80--84.
[3]
Arora, R., Goel, S., and Mittal, R. K. 2016. Using Dependency Graphs to Support Collaboration Over GitHub: The Neo4j Graph Database Approach. In Proceedings of the 2016 Ninth International Conference on Contemporary Computing (IC3). IEEE, 2016, 1--7.
[4]
Arora, R., Goel, S., and Mittal, R. K. 2016. Supporting Collaborative Software Development over GitHub. Software: Practice and Experience, John Wiley & Sons. 2016, 1393--1416.
[5]
Arora, R. 2016. A Framework and Tool for Supporting Collaborative Work in Software Development. Doctoral Thesis. BITS, Pilani.
[6]
Berliner B., CVS II: Parallelizing software development. Proceedings of the USENIX Winter 1990 Technical Conference, 1990, Vol. 341: 352.
[7]
Brun, Y., Holmes, R., Ernst, M. D., Notkin, D. 2011. Crystal: Precise and unobtrusive conflict warnings. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering. ACM, 2011, 444--447.
[8]
Dependency Finder [http://depfind.sourceforge.net].
[9]
de Souza, C. R., Quirk, S., Trainer, E., and Redmiles, D. F. 2007. Supporting collaborative software development through the visualization of socio-technical dependencies. In Proceedings of the 2007 international ACM conference on Supporting group work. ACM, 2007, 147--156.
[10]
Fowler, M. Continuous integration, 2006. http://martinfowler.com/articles/continuousIntegration.html.
[11]
GitHub, Inc. (US), "Build software better, together," GitHub, 2016. Available: https://github.com/.
[12]
Guimarães, M. L., and Silva, A. R. 2012. Improving early detection of software merge conflicts. In Proceedings of the 34th International Conference on Software Engineering. IEEE Press, 2012, 342--352.
[13]
Gutwin, C., and Greenberg, S. 2002. A Descriptive Framework of Workspace Awareness for Real-Time Groupware. Computer Supported Cooperative Work, 2002, 411--446.
[14]
Hattori, L., and Lanza, M. 2010. Syde: A tool for collaborative software development. In proceedings of the 32nd International Conference on Software Engineering, vol. 2. IEEE, 2010, 235--238.
[15]
Hattori, L., Lanza, M., and Ambros, M. D'. 2011. A qualitative analysis of preemptive conflict detection. University of Lugano, Tech. Rep 5, 2011.
[16]
Holmes, R., and Walker, R. J. 2010. Customized awareness: recommending relevant external change events. In Proceedings of 32nd ACM/IEEE International Conference on Software Engineering -Vol 1. ACM, 2010, 465--474.
[17]
Huyen, P.T.T., and Ochimizu, K. 2012. Change Support Model for Distributed Collaborative Work. arXiv preprint arXiv:1212.1762, 2012.
[18]
Neo Technology, Inc., "Neo4j: The world's leading graph database," Neo4j Graph Database, 2016. [http://neo4j.com/].
[19]
Sarma, A., Bortis, G., and Hoek, A. 2007. Towards supporting awareness of indirect conflicts across software configuration management workspaces. In Proceedings of IEEE/ACM international conference on Automated software engineering. ACM, 2007, 94--103.
[20]
Servant, F., Jones, J. A., and van der Hoek, A. 2010. CASI: preventing indirect conflicts through a live visualization. In Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering. ACM, 2010, 39--46.

Index Terms

  1. Continuous Conflict Prediction during Collaborative Software Development: A step-before Continuous Integration

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ICSIM '20: Proceedings of the 3rd International Conference on Software Engineering and Information Management
    January 2020
    258 pages
    ISBN:9781450376907
    DOI:10.1145/3378936
    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]

    In-Cooperation

    • University of Science and Technology of China: University of Science and Technology of China

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 March 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Collaborative Software Development
    2. Continuous Conflict Prediction
    3. Continuous Integration
    4. Direct Conflicts
    5. Eclipse Plugin Development
    6. Indirect Conflicts

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ICSIM '20

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 108
      Total Downloads
    • Downloads (Last 12 months)10
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 03 Oct 2024

    Other Metrics

    Citations

    View Options

    Get Access

    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