• DocumentCode
    3141786
  • Title

    The design of bug fixes

  • Author

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

  • Author_Institution
    Dept. of Comput. Sci., North Carolina State Univ., Raleigh, NC, USA
  • fYear
    2013
  • fDate
    18-26 May 2013
  • Firstpage
    332
  • Lastpage
    341
  • 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. Based on qualitative interviews with 40 engineers working on a variety of products, data from 6 bug triage meetings, and a survey filled out by 326 engineers, 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 several implications for research and practice, including ways to make bug prediction and localization more accurate.
  • Keywords
    program debugging; software engineering; bug fix design; bug introduction; bug localization; bug prediction; bug triage meeting; design choice; software engineering; software release; Buildings; Computer bugs; Data analysis; Encoding; Interviews; Protocols; Software; bugs; design; empirical study; faults;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2013 35th International Conference on
  • Conference_Location
    San Francisco, CA
  • Print_ISBN
    978-1-4673-3073-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2013.6606579
  • Filename
    6606579