Semi-Synchronous Conflict Detection and Resolution in Asynchronous Software Development

dc.contributor.authorDewan, Prasun
dc.contributor.authorHegde, Rajesh
dc.date.accessioned2017-04-15T11:46:24Z
dc.date.available2017-04-15T11:46:24Z
dc.date.issued2007
dc.description.abstractPrevious work has found that (a) when software is developed collaboratively, concurrent accesses to related pieces of code are made, and (b) when these accesses are coordinated asynchronously through a version control system, they result in increased defects because of conflicting concurrent changes. Previous findings also show that distance collaboration aggravates software-development problems and radical colocation reduces them. These results motivate a semi-synchronous distributed computersupported model that allows programmers creating code asynchronously to synchronously collaborate with each other to detect and resolve potentially conflicting tasks before they have completed the tasks. We describe, illustrate, and evaluate a new model designed to meet these requirements. Our results show that the model can catch conflicts at editing time that would be expensive to manage at later times.
dc.identifier.doi10.1007/978-1-84800-031-5_9
dc.identifier.isbn978-1-84800-031-5
dc.language.isoen
dc.publisherSpringer, London
dc.relation.ispartofECSCW 2007: Proceedings of the 10th European Conference on Computer-Supported Cooperative Work
dc.relation.ispartofseriesECSCW
dc.titleSemi-Synchronous Conflict Detection and Resolution in Asynchronous Software Development
dc.typeText
gi.citation.endPage178
gi.citation.startPage159
gi.citations.count71
gi.citations.elementAnita Sarma, Larry Maccherone, Patrick Wagstrom, James Herbsleb (2009): Tesseract: Interactive visual exploration of socio-technical relationships in software development, In: 2009 IEEE 31st International Conference on Software Engineering, doi:10.1109/icse.2009.5070505
gi.citations.elementCong Chen, Kang Zhang (2014): The Effects of Continuous Awareness on Distributed Software Development, In: 2014 IEEE 9th International Conference on Global Software Engineering, doi:10.1109/icgse.2014.28
gi.citations.elementOlaf Leßenich, Janet Siegmund, Sven Apel, Christian Kästner, Claus Hunsen (2017): Indicators for merge conflicts in the wild: survey and empirical study, In: Automated Software Engineering 2(25), doi:10.1007/s10515-017-0227-0
gi.citations.elementYuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin (2013): Early Detection of Collaboration Conflicts and Risks, In: IEEE Transactions on Software Engineering 10(39), doi:10.1109/tse.2013.28
gi.citations.elementPetra Brosch, Philip Langer, Martina Seidl, Konrad Wieland, Manuel Wimmer, Gerti Kappel (2000): The Past, Present, and Future of Model Versioning, In: Emerging Technologies for the Evolution and Maintenance of Software Models, doi:10.4018/978-1-61350-438-3.ch015
gi.citations.elementKelly Blincoe (2012): Timely and efficient facilitation of coordination of software developers' activities, In: 2012 34th International Conference on Software Engineering (ICSE), doi:10.1109/icse.2012.6227042
gi.citations.elementKelly Blincoe, Giuseppe Valetto, Daniela Damian (2015): Facilitating Coordination between Software Developers: A Study and Techniques for Timely and Efficient Recommendations, In: IEEE Transactions on Software Engineering 10(41), doi:10.1109/tse.2015.2431680
gi.citations.elementGustavo Vale, Angelika Schmid, Alcemir Rodrigues Santos, Eduardo Santana de Almeida, Sven Apel (2019): On the relation between Github communication activity and merge conflicts, In: Empirical Software Engineering 1(25), doi:10.1007/s10664-019-09774-x
gi.citations.elementKonrad Wieland, Geraldine Fitzpatrick, Gerti Kappel, Martina Seidl, Manuel Wimmer (2011): Towards an Understanding of Requirements for Model Versioning Support, In: International Journal of People-Oriented Programming 2(1), doi:10.4018/ijpop.2011070101
gi.citations.elementClaudia-Lavinia Ignat (2008): Annotation of concurrent changes in collaborative software development, In: 2008 4th International Conference on Intelligent Computer Communication and Processing, doi:10.1109/iccp.2008.4648365
gi.citations.elementCarl Gutwin, T.C. Nicholas Graham, Chris Wolfe, Nelson Wong, Brian de Alwis (2010): Gone but not forgotten, In: Proceedings of the 2010 ACM conference on Computer supported cooperative work, doi:10.1145/1718918.1718951
gi.citations.elementAnita Sarma, Andrea van der Hoek (2010): Categorizing the Spectrum of Coordination Technology, In: Computer 6(43), doi:10.1109/mc.2010.90
gi.citations.elementShukor Sanim Mohd Fauzi, Paul L. Bannerman, Mark Staples (2010): Software Configuration Management in Global Software Development: A Systematic Map, In: 2010 Asia Pacific Software Engineering Conference, doi:10.1109/apsec.2010.53
gi.citations.elementAmanuel Koshima, Vincent Englebert, Philippe Thiran (2011): Distributed Collaborative Model Editing Framework for Domain Specific Modeling Tools, In: 2011 IEEE Sixth International Conference on Global Software Engineering, doi:10.1109/icgse.2011.18
gi.citations.elementYuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin (2011): Crystal, In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, doi:10.1145/2025113.2025187
gi.citations.elementCristiano M. Cesario, Leonardo G. P. Murta (2016): Topology Awareness for Distributed Version Control Systems, In: Proceedings of the XXX Brazilian Symposium on Software Engineering, doi:10.1145/2973839.2973854
gi.citations.elementInderdeep Kaur, Parminder Kaur, Hardeep Singh (2017): Analysis of workspace awareness tools in distributed software development, In: 2017 International Conference on Intelligent Communication and Computational Techniques (ICCT), doi:10.1109/intelcct.2017.8324051
gi.citations.elementMário Luís Guimarães, António Rito Silva (2012): Making Software Integration Really Continuous, In: Lecture Notes in Computer Science, doi:10.1007/978-3-642-28872-2_23
gi.citations.elementHoai Le Nguyen, Claudia-Lavinia Ignat (2018): An Analysis of Merge Conflicts and Resolutions in Git-Based Open Source Projects, In: Computer Supported Cooperative Work (CSCW) 3-6(27), doi:10.1007/s10606-018-9323-3
gi.citations.elementPrasun Dewan (2011): Semantics-based collaborative systems: Combining the advantages of unstructured and structure-based systems, In: 2011 International Conference on Collaboration Technologies and Systems (CTS), doi:10.1109/cts.2011.5928679
gi.citations.elementKelly Blincoe (2012): Timely detection of Coordination Requirements to support collaboration among software developers, In: 2012 34th International Conference on Software Engineering (ICSE), doi:10.1109/icse.2012.6227230
gi.citations.elementAlex R. Sabau, Simon Hacks, Andreas Steffens (2020): Implementation of a continuous delivery pipeline for enterprise architecture model evolution, In: Software and Systems Modeling 1(20), doi:10.1007/s10270-020-00828-z
gi.citations.elementPhan Thi Thanh Huyen, Koichiro Ochimizu (2011): Toward Inconsistency Awareness in Collaborative Software Development, In: 2011 18th Asia-Pacific Software Engineering Conference, doi:10.1109/apsec.2011.24
gi.citations.elementPhan Thi Thanh Huyen, Kunihiko Hiraishi, Koichiro Ochimizu (2013): Modeling and Verification of Change Processes in Collaborative Software Engineering, In: Lecture Notes in Computer Science, doi:10.1007/978-3-642-39646-5_2
gi.citations.element(2010): Computer Highlights Society Magazines, In: Computer 6(43), doi:10.1109/mc.2010.164
gi.citations.elementClaudia-Lavinia Ignat, Stavroula Papadopoulou, Gérald Oster, Moira C. Norrie (2008): Providing awareness in multi-synchronous collaboration without compromising privacy, In: Proceedings of the 2008 ACM conference on Computer supported cooperative work, doi:10.1145/1460563.1460665
gi.citations.elementRajesh Hegde, Prasun Dewan (2008): Connecting Programming Environments to Support Ad-Hoc Collaboration, In: 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, doi:10.1109/ase.2008.28
gi.citations.elementGustavo Vale, Heitor Costa, Sven Apel (2023): Predicting merge conflicts considering social and technical assets, In: Empirical Software Engineering 1(29), doi:10.1007/s10664-023-10395-8
gi.citations.elementIvan Mistrík, John Grundy, André van der Hoek, Jim Whitehead (2010): Collaborative Software Engineering: Challenges and Prospects, In: Collaborative Software Engineering, doi:10.1007/978-3-642-10294-3_19
gi.citations.elementMario Luis Guimaraes, Antonio Rito Silva (2012): Improving early detection of software merge conflicts, In: 2012 34th International Conference on Software Engineering (ICSE), doi:10.1109/icse.2012.6227180
gi.citations.elementThaís Rocha, Paulo Borba (2023): Using acceptance tests to predict merge conflict risk, In: Empirical Software Engineering 2(28), doi:10.1007/s10664-022-10266-8
gi.citations.elementAnita Sarma (2019): Coordination Technologies, In: Handbook of Software Engineering, doi:10.1007/978-3-030-00262-6_10
gi.citations.elementPhan Thi Thanh HUYEN, Koichiro OCHIMIZU (2014): An Inconsistency Management Support System for Collaborative Software Development, In: IEICE Transactions on Information and Systems 1(E97.D), doi:10.1587/transinf.e97.d.22
gi.citations.elementGleiph Ghiotto, Leonardo Murta, Marcio Barros, Andre van der Hoek (2020): On the Nature of Merge Conflicts: A Study of 2,731 Open Source Java Projects Hosted by GitHub, In: IEEE Transactions on Software Engineering 8(46), doi:10.1109/tse.2018.2871083
gi.citations.elementA. Sarma, D. F. Redmiles, A. van der Hoek (2012): Palantir: Early Detection of Development Conflicts Arising from Parallel Code Changes, In: IEEE Transactions on Software Engineering 4(38), doi:10.1109/tse.2011.64
gi.citations.elementJose Ricardo da Silva Junior, Daniel Prett Campagna, Esteban Clua, Anita Sarma, Leonardo Murta (2022): Dominoes: An Interactive Exploratory Data Analysis Tool for Software Relationships, In: IEEE Transactions on Software Engineering 2(48), doi:10.1109/tse.2020.2988241
gi.citations.elementMax Ellis, Sarah Nadi, Danny Dig (2023): Operation-Based Refactoring-Aware Merging: An Empirical Evaluation, In: IEEE Transactions on Software Engineering 4(49), doi:10.1109/tse.2022.3228851
gi.citations.elementJae Young Bang, Nenad Medvidovic (2015): Proactive Detection of Higher-Order Software Design Conflicts, In: 2015 12th Working IEEE/IFIP Conference on Software Architecture, doi:10.1109/wicsa.2015.15
gi.citations.elementClaudia-Lavinia Ignat, Gérald Oster (2008): Awareness of Concurrent Changes in Distributed Software Development, In: Lecture Notes in Computer Science, doi:10.1007/978-3-540-88871-0_32
gi.citations.elementPrasun Dewan (2016): Inferred Awareness to Support Mixed-Activity Collaboration, In: 2016 IEEE 2nd International Conference on Collaboration and Internet Computing (CIC), doi:10.1109/cic.2016.052
gi.citations.elementHongzhi Song, Yu Qi, Zhaoming Ou, Yueming Hu, Zichao Zhang, Shang Ye (2011): A general collaborative editing platform based on file locking mechanism, In: 2011 IEEE International Conference on Computer Science and Automation Engineering, doi:10.1109/csae.2011.5952503
gi.citations.elementXiaoming Ma, Hongming Cai, Lihong Jiang (2014): A Creative Approach to Conflict Detection in Web-Based 3D Cooperative Design, In: Lecture Notes in Computer Science, doi:10.1007/978-3-319-10831-5_38
gi.citations.elementQingchao Shen, Haoyang Ma, Junjie Chen, Yongqiang Tian, Shing-Chi Cheung, Xiang Chen (2021): A comprehensive study of deep learning compiler bugs, In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, doi:10.1145/3468264.3468591
gi.citations.elementBakhtiar Khan Kasi, Anita Sarma (2013): Cassandra: Proactive conflict minimization through optimized task scheduling, In: 2013 35th International Conference on Software Engineering (ICSE), doi:10.1109/icse.2013.6606619
gi.citations.elementS.S.M. Fauzi, A.J. Suali, W.A.W.M. Sobri (2018): A State of the Art: Software Configuration Management Tools for Global Software Development, In: Journal of Physics: Conference Series, doi:10.1088/1742-6596/1049/1/012006
gi.citations.elementSergio Luis Herrera Gonzalez, Piero Fraternali (2023): Almost Rerere: Learning to Resolve Conflicts in Distributed Projects, In: IEEE Transactions on Software Engineering 4(49), doi:10.1109/tse.2022.3215289
gi.citations.elementYuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin (2011): Proactive detection of collaboration conflicts, In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, doi:10.1145/2025113.2025139
gi.citations.elementAhmed-Nacer Mehdi, Pascal Urso, François Charoy (2014): Evaluating software merge quality, In: Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, doi:10.1145/2601248.2601275
gi.citations.elementPedro Sousa, Nuno Preguiça, Carlos Baquero (2009): Forby: Providing Groupware Features Relying on Distributed File System Event Dissemination, In: Lecture Notes in Computer Science, doi:10.1007/978-3-642-04216-4_13
gi.citations.elementMário Luís Guimarães, António Rito-Silva (2010): Towards real-time integration, In: Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering, doi:10.1145/1833310.1833320
gi.citations.elementJim Whitehead, Ivan Mistrík, John Grundy, André van der Hoek (2010): Collaborative Software Engineering: Concepts and Techniques, In: Collaborative Software Engineering, doi:10.1007/978-3-642-10294-3_1
gi.citations.elementLile Hattori, Michele Lanza, Marco D'Ambros (2012): A Qualitative User Study on Preemptive Conflict Detection, In: 2012 IEEE Seventh International Conference on Global Software Engineering, doi:10.1109/icgse.2012.20
gi.citations.elementJae Young Bang, Yuriy Brun, Nenad Medvidovic (2017): Continuous Analysis of Collaborative Design, In: 2017 IEEE International Conference on Software Architecture (ICSA), doi:10.1109/icsa.2017.45
gi.citations.elementPetra Brosch, Martina Seidl, Konrad Wieland, Manuel Wimmer, Philip Langer (2009): We can work it out: Collaborative Conflict Resolution in Model Versioning, In: ECSCW 2009, doi:10.1007/978-1-84882-854-4_12
gi.citations.elementFabrizio Pastore, Leonardo Mariani, Daniela Micucci (2017): BDCI: behavioral driven conflict identification, In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, doi:10.1145/3106237.3106296
gi.citations.elementMehran Mahmoudi, Sarah Nadi, Nikolaos Tsantalis (2019): Are Refactorings to Blame? An Empirical Study of Refactorings in Merge Conflicts, In: 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), doi:10.1109/saner.2019.8668012
gi.citations.elementAmanuel Alemayehu Koshima, Vincent Englebert (2015): Collaborative editing of EMF/Ecore meta-models and models: Conflict detection, reconciliation, and merging in DiCoMEF, In: Science of Computer Programming, doi:10.1016/j.scico.2015.07.004
gi.citations.elementCaius Brindescu, Iftekhar Ahmed, Rafael Leano, Anita Sarma (2020): Planning for untangling, In: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, doi:10.1145/3377811.3380344
gi.citations.element(2011): CTS 2011 tutorials, In: 2011 International Conference on Collaboration Technologies and Systems (CTS), doi:10.1109/cts.2011.5928652
gi.citations.elementAlex R. Sabau (2024): A Guided Modeling Approach for Secure System Design, In: 2024 IEEE 21st International Conference on Software Architecture Companion (ICSA-C), doi:10.1109/icsa-c63560.2024.00026
gi.citations.elementAnita Sarma, David Redmiles, André van der Hoek (2008): Empirical evidence of the benefits of workspace awareness in software configuration management, In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, doi:10.1145/1453101.1453118
gi.citations.elementPaulo Elias, Heleno de S. Campos, Eduardo Ogasawara, Leonardo Gresta Paulino Murta (2023): Towards accurate recommendations of merge conflicts resolution strategies, In: Information and Software Technology, doi:10.1016/j.infsof.2023.107332
gi.citations.elementSamridhi Choudhary, Christopher Bogart, Carolyn Rose, Jim Herbsleb (2020): Using Productive Collaboration Bursts to Analyze Open Source Collaboration Effectiveness, In: 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), doi:10.1109/saner48275.2020.9054852
gi.citations.elementThorsten Wuensche, Artur Andrzejak, Sascha Schwedes (2020): Detecting Higher-Order Merge Conflicts in Large Software Projects, In: 2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST), doi:10.1109/icst46399.2020.00043
gi.citations.elementRafael de Souza Santos, Leonardo Gresta Paulino Murta (2012): Evaluating the Branch Merging Effort in Version Control Systems, In: 2012 26th Brazilian Symposium on Software Engineering, doi:10.1109/sbes.2012.16
gi.citations.elementAnja Guzzi, Alberto Bacchelli, Yann Riche, Arie van Deursen (2015): Supporting Developers' Coordination in the IDE, In: Proceedings of the 18th ACM Conference on Computer Supported Cooperative Work & Social Computing, doi:10.1145/2675133.2675177
gi.citations.elementAnita Sarma, Andrea van der Hoek (2010): Categorizing the Spectrum of Coordination Technology, In: Computer 6(43), doi:10.1109/mc.2010.163
gi.citations.elementIftekhar Ahmed, Caius Brindescu, Umme Ayda Mannan, Carlos Jensen, Anita Sarma (2017): An Empirical Examination of the Relationship between Code Smells and Merge Conflicts, In: 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), doi:10.1109/esem.2017.12
gi.citations.elementCaius Brindescu, Iftekhar Ahmed, Carlos Jensen, Anita Sarma (2019): An empirical investigation into merge conflicts and their effect on software quality, In: Empirical Software Engineering 1(25), doi:10.1007/s10664-019-09735-4
gi.citations.elementGustavo Vale, Claus Hunsen, Eduardo Figueiredo, Sven Apel (2021): Challenges of Resolving Merge Conflicts: A Mining and Survey Study, In: IEEE Transactions on Software Engineering, doi:10.1109/tse.2021.3130098
gi.citations.elementBakhtiar Khan Kasi, Anita Sarma (2013): How to evaluate a conflict minimizing task scheduler through a user study, In: 2013 2nd International Workshop on User Evaluations for Software Engineering Researchers (USER), doi:10.1109/user.2013.6603078
gi.conference.date24-28 September 2007
gi.conference.locationLimerick, Ireland
gi.conference.sessiontitleFull Papers

Files

Original bundle

1 - 1 of 1
Loading...
Thumbnail Image
Name:
00226.pdf
Size:
525.55 KB
Format:
Adobe Portable Document Format

License bundle

1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
0 B
Format:
Item-specific license agreed upon to submission
Description: