Skip to main content

Supporting Cross-Platform Real-Time Collaborative Programming: Architecture, Techniques, and Prototype System

  • Conference paper
  • First Online:

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Git. https://git-scm.com/. Accessed 12 Apr 2021

  2. Code With Me: The ultimate collaborative development service by JetBrains. https://www.jetbrains.com/code-with-me/. Accessed 12 Apr 2021

  3. Saros. https://www.saros-project.org/. Accessed 12 Apr 2021

  4. Stack Overflow Developer Survey 2019. https://insights.stackoverflow.com/survey /2019#development-environments-and-tools/. Accessed 12 Apr 2021

  5. 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

  6. Teletype for Atom. https://teletype.atom.io/. Accessed 12 Apr 2021

  7. Bergström, A.: A survey on developers’ preferences in integrated development environments (2018). https://www.diva-portal.org/smash/get/diva2:1177860/FULLTEXT01.pdf

  8. 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

    Article  Google Scholar 

  9. 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)

    Google Scholar 

  10. 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

  11. 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)

    Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. 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

    Article  Google Scholar 

  14. 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)

    Google Scholar 

  15. Kurniawan, A., Soesanto, C., Wijaya, J.: CodeR: real-time code editor application for collaborative programming. Procedia Comput. Sci. 59, 510–519 (2015)

    Article  Google Scholar 

  16. 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)

    Google Scholar 

  17. 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

  18. 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)

    Google Scholar 

  19. 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)

    Article  Google Scholar 

  20. Sun, D., Sun, C.: Context-based operational transformation in distributed collaborative editing systems. IEEE Trans. Parallel Distrib. Syst. 20(10), 1454–1470 (2009)

    Article  Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Article  Google Scholar 

  23. 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)

    Google Scholar 

Download references

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

Authors

Corresponding authors

Correspondence to Bowen Du or Hongfei Fan .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics