Interacting with structure-oriented editors
International Journal of Man-Machine Studies - Special issue on structure-based editors and environments
Operational transformation in real-time group editors: issues, algorithms, and achievements
CSCW '98 Proceedings of the 1998 ACM conference on Computer supported cooperative work
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Change impact analysis for object-oriented programs
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Test Driven Development: By Example
Test Driven Development: By Example
Palantír: raising awareness among configuration management workspaces
Proceedings of the 25th International Conference on Software Engineering
Reducing wasted development time via continuous testing
ISSRE '03 Proceedings of the 14th International Symposium on Software Reliability Engineering
Jazzing up Eclipse with collaborative tools
eclipse '03 Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange
Program editors should not abandon text oriented commands
ACM SIGPLAN Notices
Chianti: a tool for change impact analysis of java programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Design requirements for more flexible structured editors from a study of programmers' text editing
CHI '05 Extended Abstracts on Human Factors in Computing Systems
Sangam: a distributed pair programming plug-in for Eclipse
eclipse '04 Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange
Crystal clear a human-powered methodology for small teams
Crystal clear a human-powered methodology for small teams
Safe-commit analysis to facilitate team software development
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
JUnitMX - A change-aware unit testing tool
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Distributed side-by-side programming
CHASE '09 Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering
Connecting Programming Environments to Support Ad-Hoc Collaboration
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Customized awareness: recommending relevant external change events
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Adinda: a knowledgeable, browser-based IDE
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Syde: a tool for collaborative software development
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Test-driven roles for pair programming
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
CASI: preventing indirect conflicts through a live visualization
Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects 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
Collabode: collaborative coding in the browser
Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering
Always-available static and dynamic feedback
Proceedings of the 33rd International Conference on Software Engineering
Role-based interfaces for collaborative software development
Proceedings of the 24th annual ACM symposium adjunct on User interface software and technology
Proceedings of the 17th ACM international conference on Supporting group work
Hi-index | 0.00 |
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.