Skip to main content

Hybrid Semantic Conflict Prevention in Real-Time Collaborative Programming

  • Conference paper
  • First Online:
Book cover Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom 2021)

Abstract

Real-time collaborative programming allows a group of programmers to edit the same source code at the same time. To support semantic conflict prevention in real-time collaboration, a dependency-based automatic locking (DAL) approach was proposed in prior work. The DAL mechanism automatically detects programming elements with dependency relationships, and prohibits concurrent editing on the inter-dependent source code regions by locking. However, the prior DAL scheme is too restrictive, which leads to an unnecessarily large locking scope and seriously impacts the concurrent work. To address this issue, we propose a novel hybrid semantic conflict prevention (HSCP) scheme, to achieve a better balance between conflict prevention and concurrent work. The scheme enforces locking on the working and strongly-depended regions, while applies awareness highlight on weakly-depended regions. The depth of locking scope can be customized by each programmer in a fine-grained manner. A three-level awareness mechanism has been designed for programmers to intuitively distinguish working, strongly-depended and weakly-depended regions. In supporting the scheme, we have devised techniques and solutions, and implemented a prototype that supports programmers to enjoy hybrid semantic conflict prevention in real-time collaborative programming over Eclipse and IntelliJ IDEA platforms. Experimental evaluations have confirmed the satisfactory performance of the scheme in complex real-world scenarios.

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

Access this chapter

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

Institutional subscriptions

References

  1. 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, CHI 2017, pp. 6220–6231 Association for Computing Machinery, New York (2017)

    Google Scholar 

  2. Fan, H., et al.: CoVSCode: a novel real-time collaborative programming environment for lightweight ide. Appl. Sci. 9(21), 4642 (2019)

    Article  Google Scholar 

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

  4. Fan, H., Sun, C.: Dependency-based automatic locking for semantic conflict prevention in real-time collaborative programming. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing, SAC 2012, pp. 737–742. Association for Computing Machinery, New York (2012)

    Google Scholar 

  5. 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. In: Proceedings of the 17th ACM International Conference on Supporting Group Work. p. 107–116. GROUP ’12, Association for Computing Machinery, New York (2012)

    Google Scholar 

  6. 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. In: Proceedings of the 17th ACM International Conference on Supporting Group Work, pp. 107–116 (2012)

    Google Scholar 

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

  8. Feldman, M.: CodeSync: a collaborative coding environment for novice web developers. Wellesley College, Wellesley (2014)

    Google Scholar 

  9. Goldman, M., Little, G., Miller, R.C.: Real-time collaborative coding in a web IDE. In: Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology, pp. 155–164 (2011)

    Google Scholar 

  10. Guo, P.J., White, J., Zanelatto, R.: Codechella: Multi-user program visualizations for real-time tutoring and collaborative learning. In: 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 79–87. IEEE (2015)

    Google Scholar 

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

    Article  Google Scholar 

  12. Lautamäki, J., Nieminen, A., Koskinen, J., Aho, T., Mikkonen, T., Englund, M.: Cored: browser-based collaborative real-time editor for java web applications. In: Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work, pp. 1307–1316 (2012)

    Google Scholar 

  13. Nguyen, V., Dang, H.H., Do, N.K., Tran, D.T.: Enhancing team collaboration through integrating social interactions in a web-based development environment. Comput. Appl. Eng. Educ. 24(4), 529–545 (2016)

    Article  Google Scholar 

  14. Sun, C.: OTFAQ: Operational Transformation Frequently Asked Questions and Answers. Nanyang Technological University (2015)

    Google Scholar 

  15. Sun, C., Jia, X., Zhang, Y., Yang, Y., Chen, D.: Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems. ACM Trans. Comput. Hum. Interact. 5(1), 63–108 (1998)

    Article  Google Scholar 

  16. Wang, Y., Wagstrom, P., Duesterwald, E., Redmiles, D.: New opportunities for extracting insights from cloud based IDEs. In: Companion Proceedings of the 36th International Conference on Software Engineering, pp. 408–411 (2014)

    Google Scholar 

  17. Warner, J., Guo, P.J.: CodePilot: scaffolding end-to-end collaborative software development for novice programmers. In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, pp. 1136–1141 (2017)

    Google Scholar 

Download references

Acknowledgment

This study has been sponsored by the Natural Science Foundation of Shanghai (No. 21ZR1465100), the National Natural Science Foundation of China (No. 61772371, No. 62172301, No. 62173248, No. 62073245, and No. 61702374), 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

Xu, W. et al. (2021). Hybrid Semantic Conflict Prevention in Real-Time Collaborative Programming. 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_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-92638-0_7

  • 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