Table of Contents
ISRN Software Engineering
Volume 2012, Article ID 516184, 11 pages
Research Article

Collaborative-Adversarial Pair Programming

1Department of Mathematics and Computer Science, Alabama State University, AL 36104, USA
2Department of Computer Science and Software Engineering, Auburn University, AL 36849, USA

Received 10 April 2012; Accepted 14 May 2012

Academic Editors: R. Bharadwaj and U. K. Wiil

Copyright © 2012 Rajendran Swamidurai and David A. Umphress. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


This paper presents a study called collaborative-adversarial pair (CAP) programming which is an alternative to pair programming (PP). Its objective is to exploit the advantages of pair programming while at the same time downplaying its disadvantages. Unlike traditional pairs, where two people work together in all the phases of software development, CAPs start by designing together; splitting into independent test construction and code implementation roles; then joining again for testing. An empirical study was conducted in fall 2008 and in spring 2009 with twenty-six computer science and software engineering senior and graduate students at Auburn University. The subjects were randomly divided into two groups (CAP/experimental group and PP/control group). The subjects used Eclipse and JUnit to perform three programming tasks with different degrees of complexity. The results of this experiment point in favor of CAP development methodology and do not support the claim that pair programming in general reduces the software development duration, overall software development cost or increases the program quality or correctness.