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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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)
Fan, H., et al.: CoVSCode: a novel real-time collaborative programming environment for lightweight ide. Appl. Sci. 9(21), 4642 (2019)
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., 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)
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)
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)
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)
Feldman, M.: CodeSync: a collaborative coding environment for novice web developers. Wellesley College, Wellesley (2014)
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)
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)
Kurniawan, A., Soesanto, C., Wijaya, J.E.C.: Coder: real-time code editor application for collaborative programming. Procedia Comput. Sci. 59, 510–519 (2015)
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)
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)
Sun, C.: OTFAQ: Operational Transformation Frequently Asked Questions and Answers. Nanyang Technological University (2015)
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)
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)
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)
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
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
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)