
Research Article
Hybrid Semantic Conflict Prevention in Real-Time Collaborative Programming
@INPROCEEDINGS{10.1007/978-3-030-92638-0_7, author={Wenhua Xu and Yiteng Zhang and Brian Chiu and Dong Chen and Jinfeng Jiang and Bowen Du and Hongfei Fan}, title={Hybrid Semantic Conflict Prevention in Real-Time Collaborative Programming}, proceedings={Collaborative Computing: Networking, Applications and Worksharing. 17th EAI International Conference, CollaborateCom 2021, Virtual Event, October 16-18, 2021, Proceedings, Part II}, proceedings_a={COLLABORATECOM PART 2}, year={2022}, month={1}, keywords={Real-time collaborative programming Hybrid Semantic Conflict Prevention (HSCP) Dependency-Based Automatic Locking (DAL) Customizable locking scope determination Collaboration awareness mechanism}, doi={10.1007/978-3-030-92638-0_7} }
- Wenhua Xu
Yiteng Zhang
Brian Chiu
Dong Chen
Jinfeng Jiang
Bowen Du
Hongfei Fan
Year: 2022
Hybrid Semantic Conflict Prevention in Real-Time Collaborative Programming
COLLABORATECOM PART 2
Springer
DOI: 10.1007/978-3-030-92638-0_7
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.