Supporting collaborative software development over GitHub

GitHub is a web‐based, distributed Software Configuration Management (SCM) system build over Git, which enables developers to host shared repositories over the Internet and access them from any location, at any time. It helps developers to effectively orchestrate their activities over shared codebases by capturing direct conflicts arising because of concurrent editing on the same shared artifact. However, SCM systems have limited support for capturing inconsistencies arising because of indirect conflicts which arise because of software dependency relationships that exist between related artifacts, and lead to the introduction of syntactic and semantic inconsistencies in codebases.

[1]  Lori A. Clarke,et al.  A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance , 1990, IEEE Trans. Software Eng..

[2]  Carl Gutwin,et al.  Workspace Awareness in Real-Time Distributed Groupware: Framework, Widgets, and Evaluation , 1996, BCS HCI.

[3]  Carl Gutwin,et al.  Workspace awareness for groupware , 1996, CHI Conference Companion.

[4]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

[5]  Hala Skaf-Molli,et al.  State Treemap: an awareness widget for multi-synchronous groupware , 2001, Proceedings Seventh International Workshop on Groupware. CRIWG 2001.

[6]  Till Schümmer,et al.  Support for distributed teams in extreme programming , 2001 .

[7]  Jörg M. Haake,et al.  Supporting distributed software development by modes of collaboration , 2001, ECSCW.

[8]  André van der Hoek,et al.  Palantir: coordinating distributed workspaces , 2002, Proceedings 26th Annual International Computer Software and Applications.

[9]  Stefan Jungmayr Testability measurement and software dependencies , 2002 .

[10]  Li-Te Cheng,et al.  Jazzing up Eclipse with collaborative tools , 2003, eclipse '03.

[11]  Carl Gutwin,et al.  A Descriptive Framework of Workspace Awareness for Real-Time Groupware , 2002, Computer Supported Cooperative Work (CSCW).

[12]  Li-Te Cheng,et al.  Introducing collaboration into an application development environment , 2004, CSCW.

[13]  Paul Dourish,et al.  Unifying artifacts and activities in a visual tool for distributed software development teams , 2004, Proceedings. 26th International Conference on Software Engineering.

[14]  Margaret-Anne D. Storey,et al.  Collaboration support for novice team programming , 2005, GROUP.

[15]  David F. Redmiles,et al.  Bridging the gap between technical and social dependencies with Ariadne , 2005, eclipse '05.

[16]  David F. Redmiles,et al.  Supporting collaborative software development through the visualization of socio-technical dependencies , 2007, GROUP.

[17]  André van der Hoek,et al.  Towards supporting awareness of indirect conflicts across software configuration management workspaces , 2007, ASE '07.

[18]  C. Ignat,et al.  A Collaborative Writing Mode for Avoiding Blind Modifications , 2007 .

[19]  Mary Czerwinski,et al.  FASTDash: a visual dashboard for fostering awareness in software teams , 2007, CHI.

[20]  Prasun Dewan,et al.  Semi-Synchronous Conflict Detection and Resolution in Asynchronous Software Development , 2007, ECSCW.

[21]  C.-L. Ignat Annotation of concurrent changes in collaborative software development , 2008, 2008 4th International Conference on Intelligent Computer Communication and Processing.

[22]  Prasun Dewan,et al.  Connecting Programming Environments to Support Ad-Hoc Collaboration , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[23]  Mary Czerwinski,et al.  WIPDash: Work Item and People Dashboard for Software Development Teams , 2009, INTERACT.

[24]  Andrew Begel,et al.  Codebook: discovering and exploiting relationships in software repositories , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[25]  Anja Guzzi,et al.  Supporting Collaboration Awareness with Real-Time Visualization of Development Activity , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[26]  António Rito Silva,et al.  Towards real-time integration , 2010, CHASE '10.

[27]  Sanjay Goel,et al.  A Novel Approach for Collaborative Pair Programming , 2010, J. Inf. Technol. Educ..

[28]  André van der Hoek,et al.  CASI: preventing indirect conflicts through a live visualization , 2010, CHASE '10.

[29]  Robert J. Walker,et al.  Customized awareness: recommending relevant external change events , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[30]  Michele Lanza,et al.  Syde: a tool for collaborative software development , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[31]  Ling Wu,et al.  CEclipse: An Online IDE for Programing in the Cloud , 2011, 2011 IEEE World Congress on Services.

[32]  Michele Lanza,et al.  Università Della Svizzera Italiana Usi Technical Report Series in Informatics a Qualitative Analysis of Preemptive Conflict Detection , 2022 .

[33]  Yuriy Brun,et al.  Crystal: precise and unobtrusive conflict warnings , 2011, ESEC/FSE '11.

[34]  Yuriy Brun,et al.  Proactive detection of collaboration conflicts , 2011, ESEC/FSE '11.

[35]  Rob Miller,et al.  Collabode: collaborative coding in the browser , 2011, CHASE '11.

[36]  Koichiro Ochimizu,et al.  Toward Inconsistency Awareness in Collaborative Software Development , 2011, 2011 18th Asia-Pacific Software Engineering Conference.

[37]  Koichiro Ochimizu,et al.  A Change Support Model for Distributed Collaborative Work , 2012, ArXiv.

[38]  Kelly Blincoe,et al.  ProxiScientia: Toward real-time visualization of task and developer dependencies in collaborating software development teams , 2012, 2012 5th International Workshop on Co-operative and Human Aspects of Software Engineering (CHASE).

[39]  André van der Hoek,et al.  Palantir: Early Detection of Development Conflicts Arising from Parallel Code Changes , 2012, IEEE Transactions on Software Engineering.

[40]  Jason Vandeventer,et al.  CodeWave: a real-time, collaborative IDE for enhanced learning in computer science , 2012, SIGCSE '12.

[41]  Michele Lanza,et al.  A Qualitative User Study on Preemptive Conflict Detection , 2012, 2012 IEEE Seventh International Conference on Global Software Engineering.

[42]  Sanjay Goel,et al.  Learning to Write Programs with Others: Collaborative Quadruple Programming , 2012, 2012 IEEE 25th Conference on Software Engineering Education and Training.

[43]  Timo Aho,et al.  CoRED: browser-based Collaborative Real-time Editor for Java web applications , 2012, CSCW.

[44]  Kang Zhang,et al.  Continuous awareness: a visual mobile approach , 2012, VINCI.

[45]  Kelly Blincoe,et al.  Proximity: a measure to quantify the need for developers' coordination , 2012, CSCW '12.

[46]  Anja Guzzi,et al.  Facilitating communication between engineers with CARES , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[47]  António Rito Silva,et al.  Improving early detection of software merge conflicts , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[48]  Yuriy Brun,et al.  Early Detection of Collaboration Conflicts and Risks , 2013, IEEE Transactions on Software Engineering.

[49]  Kunihiko Hiraishi,et al.  Modeling and Verification of Change Processes in Collaborative Software Engineering , 2013, ICCSA.

[50]  Kang Zhang,et al.  Mobile Visualization Supporting Awareness in Collaborative Software Development , 2014, VINCI '14.

[51]  Kang Zhang,et al.  The Effects of Continuous Awareness on Distributed Software Development , 2014, 2014 IEEE 9th International Conference on Global Software Engineering.

[52]  Ickjai Lee,et al.  The impact of dynamic locking on collaborative programming , 2014 .

[53]  Sanjay Goel,et al.  Investigating syntactic and semantic inconsistencies in Collaborative Software Development , 2015, 2015 Eighth International Conference on Contemporary Computing (IC3).

[54]  Amiram Yehudai,et al.  Alleviating Merge Conflicts with Fine-grained Visual Awareness , 2015, ArXiv.

[55]  Amiram Yehudai,et al.  Improving software team collaboration with Synchronized Software Development , 2015, ArXiv.