Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2389176.2389194acmconferencesArticle/Chapter ViewAbstractPublication PagesgroupConference Proceedingsconference-collections
research-article

ATCoPE: any-time collaborative programming environment for seamless integration of real-time and non-real-time teamwork in software development

Published: 27 October 2012 Publication History

Abstract

Real-time collaborative programming and non-real-time collaborative programming are two classes of methods and techniques for supporting programmers to jointly conduct complex programming work in software development. They are complementary to each other, and both are useful and effective under different programming circumstances. However, most existing programming tools and environments have been designed for supporting only one of them, and little has been done to provide integrated support for both. In this paper, we contribute a novel Any-Time Collaborative Programming Environment (ATCoPE) to seamlessly integrate conventional non-real-time collaborative programming tools and environments with emerging real-time collaborative programming techniques and support collaborating programmers to work in and flexibly switch among different collaboration modes according to their needs. We present the general design objectives for ATCoPE, the system architecture, functional design and specifications, rationales beyond design decisions, and major technical issues and solutions in detail, as well as a proof-of-concept implementation of the ATCoEclipse prototype system.

References

[1]
Allen, L., Fernandez, G., Kane, K., Leblang, D. B., Minard, D., and Posner, J. ClearCase MultiSite: Supporting Geographically-Distributed Software Development. In Software Configuration Management: Selected Papers from ICSE SCM-4 and SCM-5 Workshops, LNCS, 1005 (1995), 194--214.
[2]
Berliner, B. CVS II: Parallelizing Software Development. In Proc. of USENIX Winter 1990 Technical Conf. (1990), 341--352.
[3]
Blackburn, J. D., Scudder, G. D., and Van Wassenhove, L. N. Improving Speed and Productivity of Software Development: A Global Survey of Software Developers. IEEE Trans. Softw. Eng. 22, 12 (1996), 875--885.
[4]
Blackburn, J., Scudder, G., and Van Wassenhove, L. N. Concurrent software development. Commun. ACM 43, 11es, Article 4 (2000).
[5]
Brooks, F. P. The Mythical Man-Month (Anniversary Ed.). Addison-Wesley (1995).
[6]
Cockburn, A. and Williams, L. The costs and benefits of pair programming. In Extreme Programming Examined, Addison-Wesley (2001), 223--243.
[7]
Collins-Sussman, B. The subversion project: buiding a better CVS. Linux J. 2002, 94 (2002), 3.
[8]
Fan, H. and Sun, C. Dependency-based automatic locking for semantic conflict prevention in real-time collaborative programming. In Proc. of ACM Symposium on Applied Computing (2012), 737--742.
[9]
Fan, H. and Sun, C. Achieving integrated consistency maintenance and awareness in real-time collaborative programming environments: the CoEclipse approach. In Proc. of IEEE Intl. Conf. on Computer Supported Cooperative Work in Design (2012), 94--101.
[10]
Goldman, M., Little, G., and Miller, R. C. Real-time collaborative coding in a web IDE. In Proc. of ACM Symposium on User interface Software and Technology (2011), 155--164.
[11]
Loeliger, J. Version Control with Git: Powerful Tools and Techniques for Collaborative Software Development (1st ed.). O'Reilly Media (2009).
[12]
Nosek, J. T. The case for collaborative programming. Commun. ACM 41, 3 (1998), 105--108.
[13]
Perry, D., Siy, H., and Votta, L. Parallel changes in large-scale software development: an observational case study. ACM Trans. Softw. Eng. Methodol. 10, 3 (2001), 308--337.
[14]
Pilato, C., Collins-Sussman, B., and Fitzpatrick, B. Version Control with Subversion (2 ed.). O'Reilly Media (2008).
[15]
Salinger, S., Oezbek, C., Beecher, K., and Schenk, J. Saros: an eclipse plug-in for distributed party programming. InProc. of ICSE Workshop on Cooperative and Human Aspects of Softw. Eng. (2010), 48--55.
[16]
Shen, H. and Sun., C. Flexible notification for collaborative systems. In Proc. of ACM Conf. on CSCW (2002), 77--86.
[17]
Shen, H. and Sun, C. Recipe: a web-based environment for supporting real-time collaborative programming. In Proc. of Intl. Conf. on Networks, Parallel and Distributed Processing (2002), 283--288.
[18]
Sun, C. and Ellis, C. Operational transformation in real-time group editors: issues, algorithms, and achievements. In Proc. of ACM Conf. on CSCW (1998), 59--68.
[19]
Sun, C., Xia, S., Sun, D., Chen, D., Shen, H., and Cai, W. Transparent adaptation of single-user applications for multi-user real-time collaboration. ACM Trans. Comput.-Hum. Interact. 13, 4 (2006), 531--582.
[20]
Tichy, W. F. Tools for software configuration management. In Proc. of Intl. Workshop on Software Version and Configuration Control (1988), 1--20.
[21]
Williams, L. A. and Kessler, R. R. All I really need to know about pair programming I learned in kindergarten. Commun. ACM 43, 5 (2000), 108--114.
[22]
Williams, L., Kessler, R. R., Cunningham, W., and Jeffries, R. Strengthening the case for pair programming. IEEE Softw. 17, 4 (2000), 19--25.

Cited By

View all
  • (2024)CoPrompt: Supporting Prompt Sharing and Referring in Collaborative Natural Language ProgrammingProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642212(1-21)Online publication date: 11-May-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

Index Terms

  1. ATCoPE: any-time collaborative programming environment for seamless integration of real-time and non-real-time teamwork in software development

                Recommendations

                Comments

                Information & Contributors

                Information

                Published In

                cover image ACM Conferences
                GROUP '12: Proceedings of the 2012 ACM International Conference on Supporting Group Work
                October 2012
                342 pages
                ISBN:9781450314862
                DOI:10.1145/2389176
                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: 27 October 2012

                Permissions

                Request permissions for this article.

                Check for updates

                Author Tags

                1. any-time
                2. collaborative programming
                3. compatibility
                4. non-real-time
                5. real-time
                6. seamless integration
                7. transparency

                Qualifiers

                • Research-article

                Conference

                Group '12
                Sponsor:
                Group '12: ACM 2012 International Conference on Support Group Work
                October 27 - 31, 2012
                Florida, Sanibel Island, USA

                Acceptance Rates

                Overall Acceptance Rate 125 of 405 submissions, 31%

                Upcoming Conference

                GROUP '25
                The 2025 ACM International Conference on Supporting Group Work
                January 12 - 15, 2025
                Hilton Head , SC , USA

                Contributors

                Other Metrics

                Bibliometrics & Citations

                Bibliometrics

                Article Metrics

                • Downloads (Last 12 months)17
                • Downloads (Last 6 weeks)4
                Reflects downloads up to 04 Oct 2024

                Other Metrics

                Citations

                Cited By

                View all
                • (2024)CoPrompt: Supporting Prompt Sharing and Referring in Collaborative Natural Language ProgrammingProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642212(1-21)Online publication date: 11-May-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
                • (2022)Integrating Real-Time and Non-Real-Time Collaborative ProgrammingProceedings of the ACM on Human-Computer Interaction10.1145/35675637:GROUP(1-19)Online publication date: 29-Dec-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)A Multiple Locking Group Scheme for Flexible Semantic Conflict Prevention in Real-Time Collaborative Programming2022 IEEE 25th International Conference on Computer Supported Cooperative Work in Design (CSCWD)10.1109/CSCWD54268.2022.9776068(1432-1437)Online publication date: 4-May-2022
                • (2022)The impacts of digital design platforms on design cognition during remote collaboration: A systematic review of protocol studiesHeliyon10.1016/j.heliyon.2022.e11247(e11247)Online publication date: Oct-2022
                • (2022)NCCollab: collaborative behavior tree authoring in game developmentMultimedia Tools and Applications10.1007/s11042-022-12307-282:3(4671-4708)Online publication date: 13-Apr-2022
                • (2022)Supporting Cross-Platform Real-Time Collaborative Programming: Architecture, Techniques, and Prototype SystemCollaborative Computing: Networking, Applications and Worksharing10.1007/978-3-030-92638-0_8(124-143)Online publication date: 1-Jan-2022
                • Show More Cited By

                View Options

                Get Access

                Login options

                View options

                PDF

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader

                Media

                Figures

                Other

                Tables

                Share

                Share

                Share this Publication link

                Share on social media