Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Groupware: some issues and experiences
Communications of the ACM
The interdisciplinary study of coordination
ACM Computing Surveys (CSUR)
Coordination in software development
Communications of the ACM
The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
The case for collaborative programming
Communications of the ACM
ACM Transactions on Computer-Human Interaction (TOCHI)
The costs and benefits of pair programming
Extreme programming examined
Parallel changes in large-scale software development: an observational case study
ACM Transactions on Software Engineering and Methodology (TOSEM)
Strengthening the Case for Pair Programming
IEEE Software
Optional and Responsive Fine-Grain Locking in Internet-Based Collaborative Systems
IEEE Transactions on Parallel and Distributed Systems
Sangam: a distributed pair programming plug-in for Eclipse
eclipse '04 Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange
A research agenda for distributed software development
Proceedings of the 28th international conference on Software engineering
Collaboration in Software Engineering: A Roadmap
FOSE '07 2007 Future of Software Engineering
Saros: an eclipse plug-in for distributed party programming
Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering
Supporting semantic conflict prevention in real-time collaborative programming environments
ACM SIGAPP Applied Computing Review
Proceedings of the 17th ACM international conference on Supporting group work
Hi-index | 0.00 |
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.