Abstract
Real-time collaborative programming supports a group of programmers to edit shared source code concurrently across geographically-distributed sites and collaborate in a closely-coupled fashion. There exists a number of problems and limitations for this emerging approach to be applied in real-world scenarios, and two critical issues are the lack of support on cross-platform collaboration and multi-level consistency maintenance. In this study, we have proposed, designed and implemented a novel Cross-Platform Real-time Collaborative Framework (CP-ROOF), and meanwhile achieved conflict resolution of multi-level editing operations. Based on the proposed framework, we have successfully implemented two collaboration clients that have realized cross-platform real-time collaboration over Eclipse and IntelliJ IDEA, two of the most popular Java programming environments. In this paper, we present design objectives and rationales, workflow and functional design, CP-ROOF’s architecture and components, and major technical issues and solutions. Preliminary user evaluations and performance experiments have demonstrated the feasibility of the framework and the satisfactory performance of the prototype systems in a wide range of scenarios.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Git. https://git-scm.com/. Accessed 12 Apr 2021
Code With Me: The ultimate collaborative development service by JetBrains. https://www.jetbrains.com/code-with-me/. Accessed 12 Apr 2021
Saros. https://www.saros-project.org/. Accessed 12 Apr 2021
Stack Overflow Developer Survey 2019. https://insights.stackoverflow.com/survey /2019#development-environments-and-tools/. Accessed 12 Apr 2021
Java Programming - The State of Developer Ecosystem in 2020 Infographic | JetBrains: Developer Tools for Professionals and Teams. https://www.jetbrains.com/lp/devecosystem-2020/java/. Accessed 12 Apr 2021
Teletype for Atom. https://teletype.atom.io/. Accessed 12 Apr 2021
Bergström, A.: A survey on developers’ preferences in integrated development environments (2018). https://www.diva-portal.org/smash/get/diva2:1177860/FULLTEXT01.pdf
Cai, W., He, F., Lv, X., Cheng, Y.: A semi-transparent selective undo algorithm for multi-user collaborative editors. Front. Comput. Sci. 15(5), 1–17 (2021). https://doi.org/10.1007/s11704-020-9518-x
Chen, Y., Lee, S.W., Xie, Y., Yang, Y., Lasecki, W.S., Oney, S.: Codeon: on-demand software development assistance. In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, pp. 6220–6231 (2017)
Cho, B., Sun, C., Ng, A.: Issues and experiences in building heterogeneous co-editing systems. Proc. ACM Hum.-Comput. Interact. 3(GROUP) (2019). https://doi.org/10.1145/3361126
Fan, H., Sun, C.: Achieving integrated consistency maintenance and awareness in real-time collaborative programming environments: the CoEclipse approach. In: Proceedings of the 2012 IEEE 16th International Conference on Computer Supported Cooperative Work in Design (CSCWD), pp. 94–101 (2012)
Fan, H., Zhu, H., Liu, Q., Shi, Y., Sun, C.: A novel DAL scheme with shared-locking for semantic conflict prevention in unconstrained real-time collaborative programming. IEEE Access 5, 22566–22583 (2017)
Fan, H., et al.: CoVSCode: a novel real-time collaborative programming environment for lightweight IDE. Appl. Sci. 9(21), 4642 (2019). https://www.mdpi.com/2076-3417/9/21/4642
Fan, H., Sun, C., Shen, H.: ATCoPE: Any-time collaborative programming environment for seamless integration of real-time and non-real-time teamwork in software development, pp. 107–116 (10 2012)
Kurniawan, A., Soesanto, C., Wijaya, J.: CodeR: real-time code editor application for collaborative programming. Procedia Comput. Sci. 59, 510–519 (2015)
Ng, A., Sun, C.: Operational transformation for real-time synchronization of shared workspace in cloud storage. In: Proceedings of the 19th International Conference on Supporting Group Work, GROUP 2016, pp. 61–70. Association for Computing Machinery, New York (2016)
Sun, C.: OT FAQ: Operational transformation frequently asked questions and answers. https://www3.ntu.edu.sg/scse/staff/czsun/projects/otfaq/. Accessed 12 Apr 2021
Sun, C., Chen, D., Jia, X.: Reversible inclusion and exclusion transformation for string-wise operations in cooperative editing systems. In: Proceedings of the 21st Australasian Computer Science Conference, pp. 441–452. Citeseer (1998)
Sun, C., Xia, S., Sun, D., Chen, D., Shen, H., Cai, W.: Transparent adaptation of single-user applications for multi-user real-time collaboration. ACM Trans. Comput.-Hum. Interact. (TOCHI) 13(4), 531–582 (2006)
Sun, D., Sun, C.: Context-based operational transformation in distributed collaborative editing systems. IEEE Trans. Parallel Distrib. Syst. 20(10), 1454–1470 (2009)
Wang, A.Y., Mittal, A., Brooks, C., Oney, S.: How data scientists use computational notebooks for real-time collaboration. Proc. ACM Hum.-Comput. Interact. 3(CSCW), 1–30 (2019)
Xu, Y., Sun, C.: Conditions and patterns for achieving convergence in ot-based co-editors. IEEE Trans. Parallel Distrib. Syst. 27(3), 695–709 (2016)
Zhang, J.: An Investigation of Technology Design Features for Supporting Real-Time Collaborative Programming in an Educational Environment. Master’s thesis, Pennsylvania State University, State College, PA, USA (2018)
Acknowledgment
This study has been sponsored by the National Natural Science Foundation of China (No. 62172301, No. 61772371, No. 62173248, No. 62073245, and No. 61702374), the Natural Science Foundation of Shanghai (No. 21ZR1465100), and the Fundamental Research Funds for the Central Universities.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Ma, Y. et al. (2021). Supporting Cross-Platform Real-Time Collaborative Programming: Architecture, Techniques, and Prototype System. In: Gao, H., Wang, X. (eds) Collaborative Computing: Networking, Applications and Worksharing. CollaborateCom 2021. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 407. Springer, Cham. https://doi.org/10.1007/978-3-030-92638-0_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-92638-0_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-92637-3
Online ISBN: 978-3-030-92638-0
eBook Packages: Computer ScienceComputer Science (R0)