This thesis presents Collabode, a web-based integrated development environment for Java. With real-time collaborative editing, multiple programmers can use Collabode to edit the same source code at the same time. Collabode introduces error-mediated integration, where multiple editors see the text of one another's changes while being isolated from errors and in-progress work, and error-free changes are integrated automatically.
Three models of collaborative programming are presented and evaluated using Collabode. Classroom programming brings zero-setup web-based programming to computer science students working in a classroom or lab. Test-driven pair programming combines two existing software development strategies to create a model with clear roles and explicit tool support. And micro-outsourcing enables one programmer to easily request and integrate very small contributions from many distributed assistants, demonstrating how a system for highly-collaborative programming enables a development model infeasible with current tools.
The defense will describe results from several studies with students, professional programmers, and contractors hired online to show that highly-collaborative programming, using real-time collaborative editing of source code, is practical, useful, and fun.
Thesis Supervisor: Prof. Rob Miller