The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - July-Aug. (2012 vol.38)
pp: 889-908
A. Sarma , Dept. of Comput. Sci. & Eng., Univ. of Nebraska-Lincoln, Lincoln, NE, USA
D. F. Redmiles , Dept. of Inf., Univ. of California Irvine, Irvine, CA, USA
A. van der Hoek , Dept. of Inf., Univ. of California Irvine, Irvine, CA, USA
ABSTRACT
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.
INDEX TERMS
Monitoring, Measurement, Instant messaging, Computer architecture, Databases, Context, Laboratories, configuration management, Software engineering, computer-supported collaborative work, programmer workbench
CITATION
A. Sarma, D. F. Redmiles, A. van der Hoek, "Palantir: Early Detection of Development Conflicts Arising from Parallel Code Changes", IEEE Transactions on Software Engineering, vol.38, no. 4, pp. 889-908, July-Aug. 2012, doi:10.1109/TSE.2011.64
REFERENCES
[1] L.G. Alan, "The Evolution of a Source Code Control System," SIGSOFT Software Eng. Notes, vol. 3, no. 5, pp. 122-125, 1978.
[2] Apache, Google Wave, https://wave.google.comwave/, 2012.
[3] W. Appelt, "WWW Based Collaboration with the BSCW System," Proc. Conf. Current Trends in Theory and Informatics, pp. 66-78, 1999.
[4] U. Asklund and B. Magnusson, "Support for Consistent Merge," Proc. 10th Int'l Workshop Software Configuration Management: New Practices, New Challenges and New Boundaries, pp. 27-32, 2001.
[5] B. Berliner, "CVS II: Parallelizing Software Development," Proc. USENIX Winter 1990 Technical Conf., pp. 341-352, 1990.
[6] J. Biehl et al., "FASTDash: A Visual Dashboard for Fostering Awareness in Software Teams," Proc. SIGCHI Conf. Human Factors in Computing Systems, pp. 1313-1322, 2007.
[7] E. Bradner and G. Mark, "Why Distance Matters: Effects on Cooperation, Persuasion and Deception," Proc. ACM Conf. Computer Supported Cooperative Work, pp. 226-235, 2002.
[8] M. Cataldo and J. Herbsleb, "Communication Networks in Geographically Distributed Software Development," Proc. Conf. Computer Supported Cooperative Work, pp. 579-588, 2008.
[9] M. Cataldo et al., "Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools," Proc. ACM Conf. Computer Supported Cooperative Work, pp. 353-362, 2006.
[10] R. Conradi and B. Westfechtel, "Version Models for Software Configuration Management," ACM Computing Surveys, vol. 30, no. 2, pp. 232-282, 1998.
[11] B. Curtis et al., "A Field Study of the Software Design Process for Large Systems," Comm. ACM, vol. 31, no. 11, pp. 1268-1287, 1988.
[12] S. Dart, "Concepts in Configuration Management Systems," Proc. Third Int'l Workshop Software Configuration Management, pp. 1-18, 1991.
[13] C.R.B. de Souza and D. Redmiles, "An Empirical Study of Software Developers' Management of Dependencies and Changes," Proc. 30th Int'l Conf. Software Eng., pp. 241-250, 2008.
[14] C.R.B. de Souza et al., "How a Good Software Practice Thwarts Collaboration: The Multiple Roles of APIs in Software Development," Proc. Int'l Symp. Foundations of Software Eng., pp. 22-230, 2004.
[15] C.R.B. de Souza et al., "'Breaking the Code', Moving between Private and Public Work in Collaborative Software Development," Proc. Int'l Conf. Supporting Group Work, pp. 105-114, 2003.
[16] P. Dewan and R. Choudhary, "A High-Level and Flexible Framework for Implementing Multi-User Interfaces," ACM Trans. Information Systems, vol. 10, no. 4, pp. 345-380, 1992.
[17] P. Dewan and R. Hegde, "Semi-Synchronous Conflict Detection and Resolution in Asynchronous Software Development," Proc. Conf. European Computer Supported Cooperative Work, pp. 159-178, 2007.
[18] P. Dourish and V. Bellotti, "Awareness and Coordination in Shared Workspaces," Proc. ACM Conf. Computer-Supported Cooperative Work, pp. 107-114, 1992.
[19] Eclipse.org, Eclipse, http:/www.eclipse.org/, 2012.
[20] Eclipse.org, CVS Support, http://www.eclipse.org/eclipse platform-cvs /, 2012.
[21] J. Estublier and S. Garcia, "Process Model and Awareness in SCM," Proc. 12th Int'l Workshop Software Configuration Management, pp. 69-84, 2005.
[22] G. Fitzpatrick et al., "Supporting Public Availability and Accessibility with Elvin: Experiences and Reflections," Proc. ACM Conf. Computer Supported Cooperative Work, pp. 447-474, 2002.
[23] R.E. Grinter, "Recomposition: Putting It All Back Together Again," Proc. ACM Conf. Computer Supported Cooperative Work, pp. 393-402, 1998.
[24] R.E. Grinter, "Supporting Articulation Work Using Software Configuration Management Systems," Proc. ACM Conf. Computer Supported Cooperative Work, pp. 447-465, 1996.
[25] M.L. Guimarães and A. Rito-Silva, "Towards Real-Time Integration," Proc. ICSE Workshop Cooperative and Human Aspects of Software Eng., pp. 56-63, 2010.
[26] C. Gutwin and S. Greenberg, "Workspace Awareness for Groupware," Proc. Conf. Companion on Human Factors in Computing Systems, pp. 208-209, 1996.
[27] C. Gutwin et al., "Group Awareness in Distributed Software Development," Proc. ACM Conf. Computer Supported Cooperative Work, pp. 72-81, 2004.
[28] C. Heath and P. Luff, "Collaboration and Control: Crisis Management and Multimedia Technology in London Underground Line Control Rooms," Computer Supported Cooperative Work, vol. 1, no. 12, pp. 69-94, 1992.
[29] J. Herbsleb et al., "Introducing Instant Messaging and Chat in the Workplace," Proc. SIGCHI Conf. Human Factors in Computing Systems: Changing Our World, Changing Ourselves, pp. 171-178, 2002.
[30] J.D. Herbsleb and R.E. Grinter, "Architectures, Coordination, and Distance: Conway's Law and Beyond," IEEE Software, vol. 16, no. 5, pp. 63-70, Sept./Oct. 1999.
[31] J.D. Herbsleb et al., "Distance, Dependencies, and Delay in a Global Collaboration," Proc. ACM Conf. Computer Supported Cooperative Work, pp. 319-328, 2000.
[32] S. Jonathan et al., "Asking and Answering Questions during a Programming Change Task," IEEE Trans. Software Eng., vol. 34, no. 4, pp. 434-451, July/Aug. 2008.
[33] I. Kwan et al., "Does Socio-Technical Congruence Have an Effect on Software Build Success? A Study of Coordination in a Software Project," IEEE Trans. Software Eng., vol. 37, no. 3, pp. 307-324, May/June 2011.
[34] A. Lee et al., "NYNEX Portholes: Initial User Reactions and Redesign Implications," Proc. ACM SIGGROUP Conf. Supporting Group Work: The Integration Challenge, pp. 385-394, 1997.
[35] R.E. Mayer, "From Novice to Expert," Handbook of Human-Computer Interaction, M.G. Helander, et al., eds., second ed., pp. 781-795, Elsevier, 1988.
[36] L.J. McGuffin and G. Olson, "ShrEdit: A Shared Electronic Workspace," Technical Report #45, Cognitive Science and Machine Intelligence Laboratory, Univ. of Michigan, 1992.
[37] T. Mens, "A State-of-the-Art Survey on Software Merging," IEEE Trans. Software Eng., vol. 28, no. 5, pp. 449-462, May 2002.
[38] P. Molli, "COO-Transactions: Supporting Cooperative Work.," Proc. Seventh Int'l Workshop Software Configuration Management, pp. 128-141, 1997.
[39] C. O'Reilly et al., "Improving Conflict Detection in Optimistic Concurrency Control Models," Proc. 11th Int'l Workshop Software Configuration Management, pp. 191-205, 2003.
[40] I. Omoronyia et al., "A Review of Awareness in Distributed Collaborative Software Engineering," Software Practice and Experience, vol. 40, no. 12, pp. 1107-1133, 2010.
[41] PostgreSQL, http:/www.postgresql.org/, 2012.
[42] R. Ripley, "Improving the Practical Usability of Palantír," master's, Informatics, Univ. of California, Irvine, 2004.
[43] M.J. Rochkind, "The Source Code Control System," IEEE Trans. Software Eng., vol. 1, no. 4, pp. 364-370, Dec. 1975.
[44] A. Sarma et al., "Towards Supporting Awareness of Indirect Conflicts across Software Configuration Management Workspaces," Proc. Conf. Automated Software Eng., pp. 94-103, 2007.
[45] A. Sarma et al., "Palantír: Raising Awareness among Configuration Management Workspaces," Proc. Int'l Conf. Software Eng., pp. 444-454, 2003.
[46] A. Sarma et al., "Empirical Evidence of the Benefits of Workspace Awareness in Software Configuration Management," Proc. ACM SIGSOFT Int'l Symp. Foundations of Software Eng., pp. 113-123, 2008.
[47] A. Sarma and A. van der Hoek, "A Conflict Detected Earlier Is a Conflict Resolved Easier," Proc. Workshop Open Source Software Eng., pp. 82-86, 2004.
[48] A. Schröter, "Predicting Build Outcome with Developer Interaction in Jazz," Proc. Int'l Conf. Software Eng. vol. 2, pp. 511-512, 2010.
[49] T. Schümmer and J.M. Haake, "Supporting Distributed Software Development by Modes of Collaboration," Proc. Seventh European Conf. Computer Supported Cooperative Work, pp. 79-98, 2001.
[50] W.R. Shadish et al., Experimental and Quasi-Experimental Designs for Generalized Causal Inference, first ed. Houghton Mifflin Company, 2001.
[51] Dependency Finder, http:/depfind.sourceforge.net/, 2012.
[52] A.C. Strauss and J. Corbin, Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory, second ed. Sage Publications, Inc., 1998.
[53] Subclipse: Eclipse Team Provider Plug-In Providing Support for Subversion within the Eclipse IDE, http:/subclipse.tigris.org/, 2012.
[54] Tigris.org, Subversion, http:/subversion.tigris.org/, 2012.
[55] G. Valetto et al., "Using Software Repositories to Investigate Socio-Technical Congruence in Development Projects," Proc. Workshop Mining Software Repositories, p. 27, 2007.
43 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool