Dependency-based automatic locking for semantic conflict prevention in real-time collaborative programming
Date of Issue2012
Symposium on Applied Computing (27th : 2012 : Trento, Italy)
School of Computer Engineering
Real-time collaborative programming environments support multiple programmers to edit the same source code document at the same time over communication networks. One key challenge in supporting real-time collaborative programming is semantic conflicts, which may occur when multiple programmers are performing concurrent and incompatible work in interdependent programming segments. Semantic conflicts may result in program errors that are difficult and costly to detect and resolve. In this paper, we present in-depth analyses on representative programming scenarios for understanding the nature and general conditions for semantic conflicts, and propose a Dependency-based Automatic Locking (DAL) approach for preventing semantic conflicts. The novelty of the approach is its capabilities of supporting automatic fine-grained locking on interdependent programming segments and providing flexible locking to balance conflict prevention and programmer convenience in real-time collaborative programming environments. The DAL approach has been implemented in the CoEclipse prototype for validating its feasibility.