• DocumentCode
    74639
  • Title

    The Design Space of Bug Fixes and How Developers Navigate It

  • Author

    Murphy-Hill, Emerson ; Zimmermann, Thomas ; Bird, Christian ; Nagappan, Nachiappan

  • Author_Institution
    Dept. of Comput. Sci., North Carolina State Univ., Raleigh, NC, USA
  • Volume
    41
  • Issue
    1
  • fYear
    2015
  • fDate
    Jan. 1 2015
  • Firstpage
    65
  • Lastpage
    81
  • Abstract
    When software engineers fix bugs, they may have several options as to how to fix those bugs. Which fix they choose has many implications, both for practitioners and researchers: What is the risk of introducing other bugs during the fix? Is the bug fix in the same code that caused the bug? Is the change fixing the cause or just covering a symptom? In this paper, we investigate alternative fixes to bugs and present an empirical study of how engineers make design choices about how to fix bugs. We start with a motivating case study of the Pex4Fun environment. Then, based on qualitative interviews with 40 engineers working on a variety of products, data from six bug triage meetings, and a survey filled out by 326 Microsoft engineers and 37 developers from other companies, we found a number of factors, many of them non-technical, that influence how bugs are fixed, such as how close to release the software is. We also discuss implications for research and practice, including how to make bug prediction and localization more accurate.
  • Keywords
    program debugging; software engineering; Microsoft engineers; Pex4Fun environment; bug fix design space; bug localization; bug prediction; bug triage meetings; design choices; qualitative interviews; software engineers; Buildings; Computer bugs; Encoding; Interviews; Navigation; Protocols; Software; Design concepts; human factors in software design; maintainability;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2014.2357438
  • Filename
    6901259