skip to main content
10.1145/1833310.1833319acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Saros: an eclipse plug-in for distributed party programming

Published: 02 May 2010 Publication History

Abstract

This paper describes the social practice of distributed party programming as a natural extension of pair programming in a distributed context with two or more software developers working together. To this end we provide an overview of the Eclipse plug-in Saros, a software implementation supporting this practice, and explain its technical architecture. The central contribution of this paper is a detailed description of four concrete scenarios of distributed collaboration where one of them is distributed party programming. Furthermore it will be shown how each scenario is supported by Saros. The paper closes with a discussion of preliminary findings about establishing Saros in Open Source projects.

References

[1]
P. Baheti, E. Gehringer, and D. Stotts. Exploring the efficacy of distributed pair programming. In Extreme Programming and Agile Methods - XP/Agile Universe 2002, volume 2418 of Lecture Notes in Computer Science, pages 387--410. Springer, 2002.
[2]
P. Baudisch, E. Cutrell, and G. Robertson. High-density cursor: a visualization technique that helps users keep track of fast-moving mouse cursors. In INTERACT'03; IFIP TC13 International Conference on Human-Computer Interaction, 1st--5th September 2003, Zurich, Switzerland, 2003.
[3]
K. Beck. Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, 1999.
[4]
M. Bigler, S. Räss, and L. Zbinden. ACE---a collaborative editor. Project Report. http://swiki-lifia.info.unlp.edu.ar/ContextAware/uploads/25/ACE_-_A_Collaborative_Editor_-_Report_Evaluation_Algorithms.pdf. Last visited 2009-12-18, Apr. 2005.
[5]
T. Bipp, A. Lepper, and D. Schmedding. Pair programming in software development teams - an empirical study of its benefits. Information and Software Technology, 50(3):231--240, 2008.
[6]
S. Bryant, P. Romero, and B. du Boulay. Pair programming and the mysterious role of the navigator. International Journal of Human-Computer Studies, 2008.
[7]
G. Canfora, A. Cimitile, and C. A. Visaggio. Lessons learned about distributed pair programming: what are the knowledge needs to address? In Twelfth International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, pages 314--319, Los Alamitos, CA, USA, 2003. IEEE Computer Society.
[8]
J. Chong and T. Hurlbutt. The social dynamics of pair programming. In ICSE07: Proceedings of the 29th Int'l Conf. on Software Engineering, pages 354--363, Washington, DC, USA, 2007. IEEE Computer Society.
[9]
A. Cockburn. Crystal Clear: A Human-Powered Methodology for Small Teams. Addison Wesley, 2004.
[10]
D. Cox and S. Greenberg. Supporting collaborative interpretation in distributed groupware. In CSCW '00: Proceedings of the 2000 ACM conference on Computer supported cooperative work, pages 289--298, New York, NY, USA, 2000. ACM.
[11]
P. Dewan, P. Agarwal, G. Shroff, and R. Hegde. Distributed side-by-side programming. In CHASE '08: Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering, pages 48--55, Los Alamitos, CA, USA, 2009. IEEE Computer Society.
[12]
R. Djemili, C. Oezbek, and S. Salinger. Saros: Eine Eclipse-Erweiterung zur verteilten Paarprogrammierung. In Software Engineering 2007 - Beiträge zu den Workshops, Hamburg, Germany, Mar. 2007. Gesellschaft für Informatik.
[13]
M. A. Domino, R. W. Collins, and A. R. Hevner. Controlled experimentation on adaptations of pair programming. Information Technology and Management, 8(4):297--312, 2007.
[14]
P. Dourish and V. Bellotti. Awareness and coordination in shared workspaces. In CSCW '92: Proceedings of the 1992 ACM conference on Computer-supported cooperative work, pages 107--114, New York, NY, USA, 1992. ACM.
[15]
R. English and C. M. Schweik. Identifying success and abandonment of Free/Libre and Open Source (FLOSS) commons: A classification of Sourceforge.net projects. UPGRADE, VIII(6):54--59, Dec. 2007.
[16]
M. Fowler. Inversion of control containers and the dependency injection pattern. http://www.martinfowler.com/articles/injection.html, Jan. 2004.
[17]
M. S. Frankel and S. Siang. Ethical and legal aspects of human subjects research on the internet. Published by AAAS online, June 1999.
[18]
S. Freudenberg (née Bryant), P. Romero, and B. du Boulay. "Talking the talk": Is intermediate-level conversation the key to the pair programming success story? In AGILE 2007, pages 84--91, Washington, DC, USA, 2007. IEEE Computer Society.
[19]
C. Gutwin and S. Greenberg. The effects of workspace awareness support on the usability of real-time distributed groupware. ACM Trans. Comput.-Hum. Interact., 6(3):243--281, 1999.
[20]
B. Hanks. Empirical evaluation of distributed pair programming. International Journal of Human-Computer Studies, 66(7):530--544, 2008. Collaborative and social aspects of software development.
[21]
J. E. Hannay, T. Dybå, E. Arisholm, and D. I. Sjøberg. The effectiveness of pair programming: A meta-analysis. Information and Software Technology, 51(7):1110--1122, 2009.
[22]
C.-W. Ho, S. Raha, E. Gehringer, and L. Williams. Sangam: a distributed pair programming plug-in for Eclipse. In eclipse '04: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange, pages 73--77, New York, NY, USA, 2004. ACM.
[23]
C. Jacob. Weiterentwicklung eines Werkzeuges zur verteilten, kollaborativen Softwareentwicklung. Diplomarbeit, Institut für Informatik, Freie Universität Berlin, Berlin, Apr. 2009.
[24]
C. Jensen, S. D. Farnham, S. M. Drucker, and P. Kollock. The effect of communication modality on cooperation in online environments. In Proceedings of the SIGCHI conference on human factors in computing systems, volume 2, pages 470--477, 2000.
[25]
P. M. Johnson, H. Kou, J. M. Agustin, Q. Zhang, A. Kagawa, and T. Yamashita. Practical automated process and product metric collection and analysis in a classroom setting: Lessons learned from hackystat. In ISESE '04: Proceedings of the 2004 International Symposium on Empirical Software Engineering, pages 136--144, Washington, DC, USA, 2004. IEEE Computer Society.
[26]
M. Kersten and G. C. Murphy. Mylar: a degree-of-interest model for IDEs. In AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development, pages 159--168, New York, NY, USA, 2005. ACM.
[27]
H. Natsu, J. Favela, A. L. Morán, D. Decouchant, and A. M. Martinez-Enriquez. Distributed pair programming on the web. In Fourth Mexican International Conference on Computer Science (ENC'03), pages 81--88, Los Alamitos, CA, USA, 2003. IEEE Computer Society.
[28]
K. Navoraphan, E. F. Gehringer, J. Culp, K. Gyllstrom, and D. Stotts. Next-generation dpp with sangam and facetop. In eclipse '06: Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange, pages 6--10, New York, NY, USA, 2006. ACM.
[29]
J. R. Nawrocki, M. Jasiñski, L. Olek, and B. Lange. Pair programming vs. side-by-side programming. In Software Process Improvement, volume 3792 of Lecture Notes in Computer Science, pages 28--38. Springer, 2005.
[30]
D. A. Nichols, P. Curtis, M. Dixon, and J. Lamping. High-latency, low-bandwidth windowing in the jupiter collaboration system. In UIST '95: Proceedings of the 8th annual ACM symposium on User interface and software technology, pages 111--120, New York, NY, USA, 1995. ACM.
[31]
J. T. Nosek. The case for collaborative programming. Communications of the ACM, 41(3):105--108, 1998.
[32]
L. Prechelt, U. Stärk, and S. Salinger. Types of cooperation episodes in Side-by-Side programming. In Proc. 21st Annual Workshop of the Psychology of Programming Interest Group (PPIG '09), Limerick, July 2009. ppig.org.
[33]
M. Reeves and J. Zhu. Moomba - A collaborative environment for supporting distributed Extreme Programming in global software development. In Extreme Programming and Agile Processes in Software Engineering, volume 3092/2004 of Lecture Notes in Computer Science, pages 38--50. Springer, Berlin / Heidelberg, May 2004.
[34]
J. Rosenberg, R. Mahy, P. Matthews, and D. Wing. Session traversal utilities for NAT (STUN). Request for Comments 5389, Internet Engineering Task Force, Oct., 2008.
[35]
P. Saint-Andre. Extensible messaging and presence protocol (XMPP): Core. Request for Comments 3920, Internet Engineering Task Force, Oct., 2004.
[36]
P. Saint-Andre. Jingle: Jabber does multimedia. IEEE MultiMedia, 14(1):90--94, Jan. 2007.
[37]
S. Salinger, L. Plonka, and L. Prechelt. A coding scheme development methodology using grounded theory for qualitative analysis of pair programming. Human Technology: An Interdisciplinary Journal on Humans in ICT Environments, 4:9--25, 2008.
[38]
F. Schlesinger and S. Jekutsch. ElectroCodeoGram: An environment for studying programming. In Workshop on Ethnographies of Code, Infolab21, Lancaster University, UK, 30--31 March 2006.
[39]
T. Schümmer and J. Schümmer. Support for distributed teams in eXtreme Programming. In Extreme programming examined, pages 355--377. Addison-Wesley, Boston, MA, USA, 2001.
[40]
T. Schümmer and S. Lukosch. Supporting the social practices of distributed pair programming. In Groupware: Design, Implementation, and Use, volume 5411 of Lecture Notes in Computer Science, pages 83--98. Springer, 2008.
[41]
J. Stark. Peer reviews as a quality management technique in Open-Source software development projects. In ECSQ '02: Proceedings of the 7th International Conference on Software Quality, pages 340--350, London, UK, 2002. Springer-Verlag.
[42]
D. Stotts, L. Williams, N. Nagappan, P. Baheti, D. Jen, and A. Jackson. Virtual teaming: Experiments and experiences with Distributed Pair Programming. In Extreme Programming and Agile Methods --- XP/Agile Universe 2003, volume 2753/2003 of Lecture Notes in Computer Science, pages 129--141. Springer, Berlin / Heidelberg, Sept. 2003.
[43]
C. Sun. Undo as concurrent inverse in group editors. ACM Trans. Comput.-Hum. Interact., 9(4):309--361, Dec. 2002.
[44]
C. Sun and C. Ellis. Operational transformation in real-time group editors: issues, algorithms, and achievements. In CSCW '98: Proceedings of the 1998 ACM conference on Computer supported cooperative work, pages 59--68, New York, NY, USA, 1998. ACM.
[45]
L. Williams, R. R. Kessler, W. Cunningham, and R. Jeffries. Strengthening the case for pair programming. IEEE Software, 17(4):19--25, 2000.
[46]
D. Winkler and S. Biffl. Evaluierung von Werkzeugen für Distributed Pair Programming: Eine Fallstudie. In In Proceedings of the 2009 Conference on Software & Systems Engineering Essentials, Berlin, Germany, May 2009.
[47]
S. Ziller. Behandlung von Nebenläufigkeitsaspekten in einem Werkzeug zur Verteilten Paarprogrammierung. Diplomarbeit, Institut für Informatik, Freie Universität Berlin, Berlin, Oct. 2009.

Cited By

View all
  • (2024)Error-Tolerant Code Segmentation for Supporting Semantic Conflict Prevention in Real-Time Collaborative Programming2024 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC54092.2024.10832108(4588-4593)Online publication date: 6-Oct-2024
  • (2023)Can Synchronous Code Editing and Awareness Tools Support Remote Tutoring? Effects on Learning and TeachingProceedings of the ACM on Human-Computer Interaction10.1145/36101777:CSCW2(1-30)Online publication date: 4-Oct-2023
  • (2023)Supporting Collaboration in Introductory Programming Classes Taught in Hybrid Mode: A Participatory Design StudyProceedings of the 2023 ACM Designing Interactive Systems Conference10.1145/3563657.3596042(1248-1262)Online publication date: 10-Jul-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CHASE '10: Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering
May 2010
127 pages
ISBN:9781605589664
DOI:10.1145/1833310
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 May 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Eclipse
  2. awareness
  3. collaboration
  4. distributed development
  5. distributed pair programming
  6. distributed party programming
  7. pair programming

Qualifiers

  • Research-article

Conference

ICSE '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 47 of 70 submissions, 67%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Error-Tolerant Code Segmentation for Supporting Semantic Conflict Prevention in Real-Time Collaborative Programming2024 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC54092.2024.10832108(4588-4593)Online publication date: 6-Oct-2024
  • (2023)Can Synchronous Code Editing and Awareness Tools Support Remote Tutoring? Effects on Learning and TeachingProceedings of the ACM on Human-Computer Interaction10.1145/36101777:CSCW2(1-30)Online publication date: 4-Oct-2023
  • (2023)Supporting Collaboration in Introductory Programming Classes Taught in Hybrid Mode: A Participatory Design StudyProceedings of the 2023 ACM Designing Interactive Systems Conference10.1145/3563657.3596042(1248-1262)Online publication date: 10-Jul-2023
  • (2023)Building Temporary Isolated Workspace in Real-Time Collaborative Programming Environment2023 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC53992.2023.10394060(4110-4115)Online publication date: 1-Oct-2023
  • (2023)On the methodology of three-way structured merge in version control systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2023.103011145:COnline publication date: 1-Dec-2023
  • (2022)Distributed Pair Programming in Higher Education: A Systematic Literature ReviewJournal of Educational Computing Research10.1177/0735633122112288461:3(546-577)Online publication date: 20-Sep-2022
  • (2022)CodeWalk: Facilitating Shared Awareness in Mixed-Ability Collaborative Software DevelopmentProceedings of the 24th International ACM SIGACCESS Conference on Computers and Accessibility10.1145/3517428.3544812(1-16)Online publication date: 23-Oct-2022
  • (2022)Designing PairBuddy—A Conversational Agent for Pair ProgrammingACM Transactions on Computer-Human Interaction10.1145/349832629:4(1-44)Online publication date: 5-May-2022
  • (2022)Mastery: Shifted-Code-Aware Structured MergingDependable Software Engineering. Theories, Tools, and Applications10.1007/978-3-031-21213-0_5(70-87)Online publication date: 11-Dec-2022
  • (2021)An Overview of Tools for Collecting Data on Software Development and Debugging Processes from Integrated Development EnvironmentsScience and Transport Progress10.15802/stp2021/242042(24-37)Online publication date: 15-Jun-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media