Skip to main content

Pair Programming and Software Defects – An Industrial Case Study

  • Conference paper
Book cover Agile Processes in Software Engineering and Extreme Programming (XP 2011)

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 77))

Included in the following conference series:

Abstract

In the last decade there has been increasing interest in pair programming. However, despite work has been done, there is still a lack of substantial evidence of pair programming effects in industrial environments. To increase a body of evidence regarding the real benefits of pair programming, we investigate its relationship with software defects. The analysis is based on 14-months data collected from a large Italian manufacturing company. The team of 17 developers adopted a customized version of extreme programming and used pair programming on a daily basis. We explore and compare the defect rate of the code changed by doing pair and solo programming. The results show that defects appear to be lower for the code modified during pair programming. As a consequence, we formulate a hypothesis that pair programming is effective in reducing the introduction of new defects when existing code is modified.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arisholm, E., Gallis, H., Dyba, T., Sjoberg, D.I.K.: Evaluating pair programming with respect to system complexity and programmer expertise. IEEE Trans. Softw. Eng. 33(2), 65–86 (2007)

    Article  Google Scholar 

  2. Basili, V.: Applying the goal question metric paradigm in the experience factory. In: Proceedings of the Tenth Annual Conference of Software Metrics and Quality Assurance in Industry (1993)

    Google Scholar 

  3. Begel, A., Nagappan, N.: Pair programming: what’s in it for me? In: ESEM 2008: Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, pp. 120–128. ACM, New York (2008)

    Chapter  Google Scholar 

  4. Canfora, G., Cimitile, A., Garcia, F., Piattini, M., Visaggio, C.A.: Evaluating performances of pair designing in industry. J. Syst. Softw. 80(8), 1317–1327 (2007)

    Article  Google Scholar 

  5. Chong, J., Hurlbutt, T.: The social dynamics of pair programming. In: ICSE 2007: Proceedings of the 29th International Conference on Software Engineering, pp. 354–363. IEEE Computer Society, Washington, DC (2007)

    Google Scholar 

  6. Cockburn, A., Williams, L.: The costs and benefits of pair programming, pp. 223–243 (2001)

    Google Scholar 

  7. Coman, I.D., Sillitti, A., Succi, G.: A case-study on using an automated in-process software engineering measurement and analysis system in an industrial environment. In: ICSE 2009: Proceedings of the 31st International Conference on Software Engineering, pp. 89–99. IEEE Computer Society, Washington, DC (2009)

    Chapter  Google Scholar 

  8. Dyba, T., Arisholm, E., Sjøberg, D.I.K., Hannay, J.E., Shull, F.: Are two heads better than one? on the effectiveness of pair programming. IEEE Softw. 24(6), 12–15 (2007)

    Article  Google Scholar 

  9. Fronza, I., Sillitti, A., Succi, G.: An interpretation of the results of the analysis of pair programming during novices integration in a team. In: ESEM 2009: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 225–235. IEEE Computer Society, Washington, DC (2009)

    Google Scholar 

  10. Hulkko, H., Abrahamsson, P.: A multiple case study on the impact of pair programming on product quality. In: ICSE 2005: Proceedings of the 27th International Conference on Software Engineering, pp. 495–504. ACM, New York (2005)

    Google Scholar 

  11. Lui, K.M., Chan, K.C.C., Nosek, J.: The effect of pairs in program design tasks. IEEE Trans. Softw. Eng. 34(2), 197–211 (2008)

    Article  Google Scholar 

  12. Madeyski, L.: The impact of pair programming and test-driven development on package dependencies in object-oriented design — an experiment. In: Münch, J., Vierimaa, M. (eds.) PROFES 2006. LNCS, vol. 4034, pp. 278–289. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Muller, M.M.: Are reviews an alternative to pair programming? Empirical Softw. Engg. 9(4), 335–351 (2004)

    Article  Google Scholar 

  14. Muller, M.M.: A preliminary study on the impact of a pair design phase on pair programming and solo programming. Inf. Softw. Technol. 48, 335–344 (2006)

    Article  Google Scholar 

  15. Nawrocki, J., Wojciechowski, A.: Experimental evaluation of pair programming. In: Proc. European Software Control and Metrics Conf., ESCOM (2001)

    Google Scholar 

  16. Phongpaibul, M., Boehm, B.: An empirical comparison between pair development and software inspection in thailand. In: ISESE 2006: Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering, pp. 85–94. ACM, New York (2006)

    Google Scholar 

  17. Sillitti, A., Janes, A., Succi, G., Vernazza, T.: Collecting, integrating and analyzing software metrics and personal software process data. In: EUROMICRO 2003: Proceedings of the 29th Conference on EUROMICRO, p. 336. IEEE Computer Society, Washington, DC (2003)

    Chapter  Google Scholar 

  18. Sison, R.: Investigating pair programming in a software engineering course in an asian setting. In: APSEC 2008: Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference, pp. 325–331. IEEE Computer Society, Washington, DC (2008)

    Chapter  Google Scholar 

  19. Sison, R.: Investigating the effect of pair programming and software size on software quality and programmer productivity. In: APSEC 2009: Proceedings of the 2009 16th Asia-Pacific Software Engineering Conference, pp. 187–193. IEEE Computer Society, Washington, DC (2009)

    Chapter  Google Scholar 

  20. Succi, G., Pedrycz, W., Marchesi, M., Williams, L.: Preliminary analysis of the effects of pair programming on job satisfaction. In: Proceedings of the 3rd International Conference on Extreme Programming (XP), pp. 212–215 (2002)

    Google Scholar 

  21. Vanhanen, J., Abrahamsson, P.: Perceived effects of pair programming in an industrial context. In: EUROMICRO 2007: Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 211–218. IEEE Computer Society, Washington, DC (2007)

    Google Scholar 

  22. Vanhanen, J., Korpi, H.: Experiences of using pair programming in an agile project. In: HICSS 2007: Proceedings of the 40th Annual Hawaii International Conference on System Sciences, p. 274b. IEEE Computer Society, Washington, DC (2007)

    Chapter  Google Scholar 

  23. Vanhanen, J., Lassenius, C.: Effects of pair programming at the development team level: an experiment. In: International Symposium on Empirical Software Engineering, pp. 336–345 (2005)

    Google Scholar 

  24. Williams, L., Kessler, R.R., Cunningham, W., Jeffries, R.: Strengthening the case for pair programming. IEEE Softw. 17(4), 19–25 (2000)

    Article  Google Scholar 

  25. Williams, L., Shukla, A., Anton, A.I.: An initial exploration of the relationship between pair programming and brooks’ law. In: Proceedings of the Agile Development Conference, pp. 11–20. IEEE Computer Society, Washington, DC (2004)

    Chapter  Google Scholar 

  26. Phongpaibul, M., Boehm, B.: A replicate empirical comparison between pair development and software development with inspection. In: ESEM 2007: Proceedings of the First International Symposium on Empirical Software Engineering and Measurement, pp. 265–274. IEEE Computer Society, Washington, DC (2007)

    Google Scholar 

  27. Nosek, J.T.: The case for collaborative programming. Commun. ACM 41(3), 105–108 (1998)

    Article  Google Scholar 

  28. Xu, S., Chen, X.: Pair programming in software evolution. In: Canadian Conference on Electrical and Computer Engineering, pp. 1846–1849 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Phaphoom, N., Sillitti, A., Succi, G. (2011). Pair Programming and Software Defects – An Industrial Case Study. In: Sillitti, A., Hazzan, O., Bache, E., Albaladejo, X. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2011. Lecture Notes in Business Information Processing, vol 77. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20677-1_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-20677-1_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-20676-4

  • Online ISBN: 978-3-642-20677-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics