2011 · 119 citations · 26 references
ComputingComputer ScienceHuman-computer InteractionProgramming LanguagesSoftware EngineeringCollaborative SystemsCollaborative WritingComputer-supported Cooperative WorkSynchronous CollaborationVersion ControlVersion Control SystemsCodingCollaboration SupportCollaborative Web ApplicationsConcurrent EditingShared EditingSynchronous WritingUser Study EvaluationVersion Control Processes
This paper describes Collabode, a web-based Java integrated development environment designed to support close, synchronous collaboration between programmers. We examine the problem of collaborative coding in the face of program compilation errors introduced by other users which make collaboration more difficult, and describe an algorithm for error-mediated integration of program code. Concurrent editors see the text of changes made by collaborators, but the errors reported in their view are based only on their own changes. Editors may run the program at any time, using only error-free edits supplied so far, and ignoring incomplete or otherwise error-generating changes. We evaluate this algorithm and interface on recorded data from previous pilot experiments with Collabode, and via a user study with student and professional programmers. We conclude that it offers appreciable benefits over naive continuous synchronization without regard to errors and over manual version control.
26
Operational transformation in real-time group editors
Chengzheng Sun, Clarence A. Ellis · 1998 · 497 citations · Full text
Xiaoxia Ren, Fenil Shah, Frank Tip et al. · 2004 · 381 citations
Change impact analysis for object-oriented programs
Barbara G. Ryder, Frank Tip · 2001 · 204 citations