Palantir: Early Detection of Development Conflicts Arising from Parallel Code Changes

The earlier a conflict is detected, the easier it is to resolve-this is the main precept of workspace awareness. Workspace awareness seeks to provide users with information of relevant ongoing parallel changes occurring in private workspaces, thereby enabling the early detection and resolution of potential conflicts. The key approach is to unobtrusively inform developers of potential conflicts arising because of concurrent changes to the same file and dependency violations in ongoing parallel work. This paper describes our research goals, approach, and implementation of workspace awareness through Palantír and includes a comprehensive evaluation involving two laboratory experiments. We present both quantitative and qualitative results from the experiments, which demonstrate that the use of Palantír, as compared to not using Palantír 1) leads to both earlier detection and earlier resolution of a larger number of conflicts, 2) leaves fewer conflicts unresolved in the code base that was ultimately checked in, and 3) involves reasonable overhead. Furthermore, we report on interesting changes in users' behavior, especially how conflict resolution strategies changed among Palantír users.

[1]  Alan L. Glasser The evolution of a Source Code Control System , 1978 .

[2]  Mary E. Helander,et al.  Using Software Repositories to Investigate Socio-technical Congruence in Development Projects , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[3]  Gail C. Murphy,et al.  Asking and Answering Questions during a Programming Change Task , 2008, IEEE Transactions on Software Engineering.

[4]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

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

[6]  James D. Herbsleb,et al.  Introducing instant messaging and chat in the workplace , 2002, CHI.

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

[8]  Rebecca E. Grinter Decomposition : ABSTRACT Putting It All Back , 2022 .

[9]  Adrian Schröter Predicting build outcome with developer interaction in Jazz , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[10]  Susan A. Dart,et al.  Concepts in configuration management systems , 1991, SCM '91.

[11]  James D. Herbsleb,et al.  Identification of coordination requirements: implications for the Design of collaboration and awareness tools , 2006, CSCW '06.

[12]  DewanPrasun,et al.  A high-level and flexible framework for implementing multiuser user interfaces , 1992 .

[13]  Alberto Leon-Garcia,et al.  Communication Networks , 2000 .

[14]  Ciaran O'Reilly,et al.  Improving Conflict Detection in Optimistic Concurrency Control Models , 2003, SCM.

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

[16]  Brian Berliner,et al.  CVS II: Parallelizing Software Dev elopment , 1998 .

[17]  James D. Herbsleb,et al.  Communication networks in geographically distributed software development , 2008, CSCW.

[18]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[19]  Geraldine Fitzpatrick,et al.  Supporting Public Availability and Accessibility with Elvin: Experiences and Reflections , 2002, Computer Supported Cooperative Work (CSCW).

[20]  Dennis E. Egan,et al.  Handbook of Human Computer Interaction , 1988 .

[21]  Gloria Mark,et al.  Why distance matters: effects on cooperation, persuasion and deception , 2002, CSCW '02.

[22]  Audris Mockus,et al.  Distance, dependencies, and delay in a global collaboration , 2000, CSCW '00.

[23]  James D. Herbsleb,et al.  Architectures, coordination, and distance: Conway’s law and beyond , 1999 .

[24]  Christian Heath,et al.  Collaboration and controlCrisis management and multimedia technology in London Underground Line Control Rooms , 1992, Computer Supported Cooperative Work (CSCW).

[25]  W. Shadish,et al.  Experimental and Quasi-Experimental Designs for Generalized Causal Inference , 2001 .

[26]  Andreas Girgensohn,et al.  NYNEX portholes: initial user reactions and redesign implications , 1997, GROUP.

[27]  David F. Redmiles,et al.  An empirical study of software developers' management of dependencies and changes , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[28]  Pascal Molli,et al.  COO-Transactions: Supporting Cooperative Work , 1997, SCM.

[29]  André van der Hoek,et al.  Empirical evidence of the benefits of workspace awareness in software configuration management , 2008, SIGSOFT '08/FSE-16.

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

[31]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

[32]  Rebecca E. Grinter Supporting articulation work using software configuration management systems , 1996, Computer Supported Cooperative Work (CSCW).

[33]  Anselm L. Strauss,et al.  Basics of qualitative research : techniques and procedures for developing grounded theory , 1998 .

[34]  Li-Te Cheng,et al.  How a good software practice thwarts collaboration: the multiple roles of APIs in software development , 2004, SIGSOFT '04/FSE-12.

[35]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[36]  Boris Magnusson,et al.  Support for consistent merge , 2000 .

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

[38]  Prasun Dewan,et al.  A high-level and flexible framework for implementing multiuser user interfaces , 1992, TOIS.

[39]  Paul Dourish,et al.  "Breaking the code", moving between private and public work in collaborative software development , 2003, GROUP.

[40]  Daniela E. Damian,et al.  Does Socio-Technical Congruence Have an Effect on Software Build Success? A Study of Coordination in a Software Project , 2011, IEEE Transactions on Software Engineering.

[41]  Richard E. Mayer,et al.  From Novice to expert , 1988 .

[42]  Carl Gutwin,et al.  Group awareness in distributed software development , 2004, CSCW.

[43]  André van der Hoek,et al.  Palantir: raising awareness among configuration management workspaces , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[44]  A. Sarma A conflict detected earlier is a conflict resolved easier [open source development coordination] , 2004, ICSE 2004.

[45]  Jacky Estublier,et al.  Process model and awareness in SCM , 2005, SCM '05.

[46]  A. L. Glasser The evolution of a Source Code Control System , 1978, SIGMETRICS Perform. Evaluation Rev..

[47]  Marc Roper,et al.  A review of awareness in distributed collaborative software engineering , 2010 .

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

[49]  Wolfgang Appelt,et al.  WWW Based Collaboration with the BSCW System , 1999, SOFSEM.

[50]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.