1 Abstract— Agile software development has been widespread adopted. One well-known agile approach is eXtreme Programming (XP) where pair programming (PP) is a relevant practice. Although various aspects of PP have been studied, we have not found, under a traditional model of PP, studies that examine the impact of using an IDE (Integrated Development Environment) as tool support. In an attempt to obtain a better understanding of the impact of using an IDE, we present the results of a controlled experiment that expose the influence on quality, measured as the number of defects injected per hour, of pair and solo programmers with and without the use of an IDE. Our findings suggest that the use of an IDE results in significantly higher defect injection rates (for both pairs and solos) when the programming task is not very complicated. Nevertheless, defect injection rates seem to decrease when pairs work on more complicated programming assignments irrespective of the tool support used. Quality is affected in a similar manner when either pair or solo programming is used. Keywords— Pair programming; software quality; integrated development environment; controlled experiment; software engineering; experimental software engineering. I. INTRODUCCIÓN CTUALMENTE, la adopción de metodologías ágiles en el desarrollo y mantenimiento de productos software comienza a tener relevancia en la industria del software. Experiencias de adopciones exitosas de metodologías ágiles han sido reportadas en varios países [1-7]. Una de las metodologías ágiles ampliamente conocida es la programación extrema (en Inglés, eXtreme Programming o XP) [8,9], la cual se conforma por doce prácticas que son: juego de planificación, entregas cortas, uso de metáforas, diseño sencillo, desarrollo orientado a pruebas, refactori- zación, programación en pareja, propiedad colectiva, integra- ción continua, 40 horas semanales de trabajo, cliente en casa y estándares de codificación. Una de estas doce prácticas ampliamente conocida es la programación en pareja. La programación en pareja (en Inglés, Pair Programming o PP) es una práctica común que se usa ya sea de forma independiente o como parte de XP. En esta práctica, dos programadores trabajan en conjunto en la misma tarea utilizando una computadora. Uno de los programadores (el controlador) escribe el código, mientras que el otro (el O. S. Gómez, GrIISoft Research Group, Escuela Superior Politécnica de Chimborazo, 060106 Riobamba, Ecuador, ogomez@espoch.edu.ec A. A. Aguileta. Universidad Autónoma de Yucatán, Anillo Periférico Norte, Tablaje Cat. 13615, Colonia Chuburná Hidalgo Inn, C.P. 97000, Mérida, México, aaguilet@correo.uady.mx (Corresponding author: O. S. Gómez) observador) revisa activamente el trabajo realizado por el controlador. En esencia, el observador revisa el trabajo por posibles defectos, toma notas o define estrategias para resolver cualquier problema que pueda surgir en la tarea en que se esté trabajando. Diversos estudios empíricos que reportan efectos positivos en el uso de esta práctica han sido reportados en [10-25]. Algunos efectos positivos observados en estos estudios son que la programación en pareja ayuda a producir programas más cortos así como diseños mejores; los programas codifi- cados contienen un menor número de defectos que aquellos que son escritos individualmente; las parejas usualmente requieren menos tiempo para completar una tarea que el que requieren los programadores solos (o individuales). Aunque se han estudiado diferentes aspectos de la progra- mación en pareja, no se han encontraron estudios que exa- minen el impacto de usar una herramienta de soporte tal como un ambiente de desarrollo integrador (en Inglés, Integrated Development Environment o IDE) en esta práctica. Con el objetivo de contar con un mejor entendimiento de la influencia del uso de un IDE en esta práctica, en este artículo se reportan los resultados de un experimento controlado que investiga el impacto en la calidad de varios ejercicios de programación escritos en parejas y solos, con y sin el apoyo de un IDE (entorno NetBeans con el lenguaje de programación Java). El resto de este documento está organizado de la siguiente manera: en la sección II se describen los antecedentes. En la sección III se presenta el contexto de nuestro experimento. En la sección IV se describe el análisis y los resultados. En la sección V se discuten los hallazgos encontrados. Finalmente en la sección VI se presentan las conclusiones. II. ANTECEDENTES El uso de herramientas de soporte para programar en pareja ha sido estudiado bajo un modelo distribuido, donde las parejas se encuentran en distintas ubicaciones geográficas, trabajando de manera síncrona o asíncrona [26-32]. En la literatura no hemos encontrado estudios donde se examine el efecto de utilizar una herramienta de soporte bajo el modelo tradicional de la programación en pareja, es decir, parejas trabajando en una misma ubicación, con la misma computa- dora de manera simultánea. El experimento aquí reportado tiene su origen en el trabajo reportado en [10]. En [10], los autores realizaron un experi- mento controlado como parte de un curso universitario sobre diseño de experimentos en ingeniería de software (IS). En este experimento se empleó un diseño experimental conocido A Influence on the use of an IDE as tool support in the pair programming: A controlled experiment O. S. Gómez and A. A. Aguileta 948 IEEE LATIN AMERICA TRANSACTIONS, VOL. 16, NO. 3, MARCH 2018