skip to main content
10.1145/1985793.1985860acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Ownership, experience and defects: a fine-grained study of authorship

Published:21 May 2011Publication History

ABSTRACT

Recent research indicates that "people" factors such as ownership, experience, organizational structure, and geographic distribution have a big impact on software quality. Understanding these factors, and properly deploying people resources can help managers improve quality outcomes. This paper considers the impact of code ownership and developer experience on software quality. In a large project, a file might be entirely owned by a single developer, or worked on by many. Some previous research indicates that more developers working on a file might lead to more defects. Prior research considered this phenomenon at the level of modules or files, and thus does not tease apart and study the effect of contributions of different developers to each module or file. We exploit a modern version control system to examine this issue at a fine-grained level. Using version history, we examine contributions to code fragments that are actually repaired to fix bugs. Are these code fragments "implicated" in bugs the result of contributions from many? or from one? Does experience matter? What type of experience? We find that implicated code is more strongly associated with a single developer's contribution; our findings also indicate that an author's specialized experience in the target file is more important than general experience. Our findings suggest that quality control efforts could be profitably targeted at changes made by single developers with limited prior experience on that file.

References

  1. Software errors cost u.s. economy $59.5 billion annually, http://www.nist.gov/public_affairs/releases/n02-10.htm.Google ScholarGoogle Scholar
  2. Identifying reasons for software changes using historic databases, volume 0, Los Alamitos, CA, USA, August 2002. IEEE Computer Society.Google ScholarGoogle Scholar
  3. Succession: Measuring transfer of code and developer productivity, Washington, DC, USA, June 2009. IEEE Computer Society.Google ScholarGoogle Scholar
  4. L. Argote. Organizational Learning: Creating, Retaining, and Transferring Knowledge. Kluwer Academic Publishers, Norwell, MA, USA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. Argote, S. L. Beckman, and D. Epple. The persistence and transfer of learning in industrial settings. Manage. Sci., 36(2):140--154, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Bachmann and A. Bernstein. Software process data quality and characteristics: a historical view on open and closed source projects. In IWPSE-Evol '09, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. D. Banker, G. B. Davis, and S. A. Slaughter. Software development practices, software complexity, and software maintenance performance: A field study. MANAGEMENT SCIENCE, 44(4):433--450, April 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. Beck. Embracing change with extreme programming. IEEE computer, 32(10):70--77, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Berkus. The 5 types of open source projects, 2007. March 20, 2007. http://www.powerpostgresql.com/5_types.Google ScholarGoogle Scholar
  10. C. Bird, A. Bachmann, E. Aune, J. Duffy, A. Bernstein, V. Filkov, and P. Devanbu. Fair and balanced?: bias in bug-fix datasets. In ESEC/FSE '09, pages 121--130, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Bird, N. Nagappan, B. Murphy, H. Gall, and P. Devanbu. An analysis of the effect of code ownership on software quality across windows, eclipse, and firefox. Technical report, University of California, Davis, 2010. Submitted to FSE 2010. http://wwwcsif.cs.ucdavis.edu/~bird/.Google ScholarGoogle Scholar
  12. C. Bird, P. Rigby, E. Barr, D. Hamilton, D. German, and P. Devanbu. The Promises and Perils of Mining Git. In MSR 2009, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. W. Boh, S. Slaughter, and J. Espinosa. Learning from experience in software development: A multilevel analysis. Management Science, 53(8):1315--1331, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. F. Brooks. The mythical man-month. Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Cataldo, P. Wagstrom, J. Herbsleb, and K. Carley. Identification of coordination requirements: implications for the Design of collaboration and awareness tools. Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work, pages 353--362, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. Curtis and H. Iscoe. N.(1988). A field study of the software design process for large systems. Communications of the ACM, 31(11):1268--1287. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. B. Curtis, H. Krasner, and N. Iscoe. A field study of the software design process for large systems. communication of the ACM, 31(11):1268--1287, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. B. Curtis, E. M. Soloway, R. E. Brooks, J. B. Black, K. Ehrlich, and H. R. Ramsey. Software psychology: the need for an interdisciplinary program. pages 150--164, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. E. Darr, L. Argote, and D. Epple. The acquisition, transfer, and depreciation of knowledge in service organizations: Productivity in franchises. Management Science, 41(11):1750--1762, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. A. Espinosa. Shared mental models and coordination in large-scale, distributed software development. PhD thesis, Pittsburgh, PA, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Fischer, M. Pinzger, and H. Gall. Populating a release history database from version control and bug tracking systems. In ICSM '03, pages 23+, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Freedman. Ecological inference and the ecological fallacy. International encyclopedia of the social and behavioral sciences, pages 4027--4030, 2004.Google ScholarGoogle Scholar
  23. T. Fritz, G. C. Murphy, and E. Hill. Does a programmer's activity indicate knowledge of code? In ESEC-FSE '07, pages 341--350, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. T. Girba, A. Kuhn, M. Seeberger, and S. Ducasse. How developers drive software evolution. In Eighth International Workshop on Principles of Software Evolution (IWPSE'05), pages 113--122, Washington, DC, USA, 2005. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. T. L. Graves, A. F. Karr, J. S. Marron, and H. Siy. Predicting fault incidence using software change history. IEEE Trans. Softw. Eng., 26(7):653--661, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. D. Herbsleb and A. Mockus. An empirical study of speed and communication in globally distributed software development. IEEE Trans. Softw. Eng., 29(6):481--494, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Kan. Metrics and models in software quality engineering. Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Kim, K. Pan, and E. E. J. Whitehead. Memories of bug fixes. In SIGSOFT '06/FSE-14, pages 35--45, New York, NY, USA, 2006. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. Kim, T. Zimmermann, K. Pan, and J. Jr. Automatic identification of bug-introducing changes. In ASE '06, pages 81--90, Washington, DC, USA, 2006. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Meneely and L. Williams. Secure open source collaboration: an empirical study of linus' law. In CCS '09, pages 453--462, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. Mockus and D. M. Weiss. Predicting risk of software changes. Bell Labs Technical Journal, 5(2):169--180, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  32. A. Mockus and D. M. Weiss. Predicting risk of software changes. Bell Labs Technical Journal, 5(2):169--180, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  33. N. Nagappan, B. Murphy, and V. Basili. The influence of organizational structure on software quality: an empirical case study. In ICSE '08, pages 521--530. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. Pinzger, N. Nagappan, and B. Murphy. Can developer-module networks predict failures? In SIGSOFT '08/FSE-16, pages 2--12, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. G. P. Pisano, R. M. J. Bohmer, and A. C. Edmondson. Organizational differences in rates of learning: Evidence from the adoption of minimally invasive cardiac surgery. Manage. Sci., 47(6):752--768, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. J. Ratzinger, M. Pinzger, and H. Gall. Eq-mine: Predicting short-term defects for software evolution. In M. B. Dwyer and A. Lopes, editors, Fundamental Approaches to Software Engineering, volume 4422 of Lecture Notes in Computer Science, chapter 3, pages 12--26. Springer Berlin Heidelberg, Berlin, Heidelberg, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. E. Raymond. The cathedral and the bazaar: musings on Linux and open source by an accidental revolutionary. O'Reilly & Associates, Inc. Sebastopol, CA, USA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. P. N. Robillard. The role of knowledge in software development. Communications of the ACM, 42(1):87--92, January 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. M. Sacks. On-the-Job Learning in the Software Industry. Corporate Culture and the Acquisition of Knowledge. Quorum Books, 88 Post Road West, Westport, CT 06881, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. M. A. Schilling, P. Vidal, R. E. Ployhart, and A. Marangoni. Learning by doing something else: Variation, relatedness, and the learning curve. MANAGEMENT SCIENCE, 49(1):39--56, January 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. T. I. Seifert and B. Paech. Exploring the relationship of history characteristics and defect count: an empirical study. In DEFECTS '08, pages 11--15, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. R. Shatnawi and W. Li. The effectiveness of software metrics in identifying error-prone classes in post-release software evolution process. J. Syst. Softw., 81(11):1868--1882, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. J. Śliwerski, T. Zimmermann, and A. Zeller. When do changes induce fixes? In MSR '05, pages 1--5. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. D. Čubranić and G. C. Murphy. Hipikat: recommending pertinent software development artifacts. In ICSE '03, pages 408--418, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. D. G. Wastell. Learning dysfunctions in information systems development: overcoming the social defenses with transitional objects. MIS Q., 23(4):581--600, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. E. Weyuker, T. Ostrand, and R. Bell. Do too many cooks spoil the broth? using the number of developers to enhance defect prediction models. Empirical Software Engineering, 13(5):539--559, October 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. A. Zeller. Why Programs Fail, Second Edition: A Guide to Systematic Debugging. Morgan Kaufmann, 2 edition, June 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Y. Zhou and H. Leung. Empirical analysis of object-oriented design metrics for predicting high and low severity faults. IEEE Trans. Softw. Eng., 32(10):771--789, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Ownership, experience and defects: a fine-grained study of authorship

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ICSE '11: Proceedings of the 33rd International Conference on Software Engineering
      May 2011
      1258 pages
      ISBN:9781450304450
      DOI:10.1145/1985793

      Copyright © 2011 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 21 May 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate276of1,856submissions,15%

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader