Home > Research > Publications & Outputs > How do developers really feel about bug fixing?

Electronic data

  • TSE survey paper no mark up

    Accepted author manuscript, 4.68 MB, PDF document

    Available under license: CC BY: Creative Commons Attribution 4.0 International License

Links

Text available via DOI:

View graph of relations

How do developers really feel about bug fixing?: Directions for automatic program repair

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

How do developers really feel about bug fixing? Directions for automatic program repair. / Winter, Emily; Bowes, David; Counsell, Steve et al.
In: IEEE Transactions on Software Engineering, Vol. 49, No. 4, 4, 01.04.2023, p. 1823-1841.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

APA

Vancouver

Winter E, Bowes D, Counsell S, Hall T, Haraldsson S, Nowack V et al. How do developers really feel about bug fixing? Directions for automatic program repair. IEEE Transactions on Software Engineering. 2023 Apr 1;49(4):1823-1841. 4. Epub 2022 Jul 27. doi: 10.1109/tse.2022.3194188

Author

Winter, Emily ; Bowes, David ; Counsell, Steve et al. / How do developers really feel about bug fixing? Directions for automatic program repair. In: IEEE Transactions on Software Engineering. 2023 ; Vol. 49, No. 4. pp. 1823-1841.

Bibtex

@article{a96e44d368544e6c9a81858de8bca67d,
title = "How do developers really feel about bug fixing?: Directions for automatic program repair",
abstract = "Automatic program repair (APR) is a rapidly advancing field of software engineering that aims to supplement or replace manual bug fixing with an automated tool. For APR to be successfully adopted in industry, it is vital that APR tools respond to developer needs and preferences. However, very little research has considered developers' general attitudes to APR or developers' current bug fixing practices (the activity APR aims to replace). This article responds to this gap by reporting on a survey of 386 software developers about their bug finding and fixing practices and experiences, and their instinctive attitudes towards APR. We find that bug finding and fixing is not necessarily as onerous for developers as has often been suggested, being rated as more satisfying than developers' general work. The fact that developers derive satisfaction and benefit from bug fixing indicates that APR adoption is not as simple as APR replacing an unwanted activity. When it comes to potential APR approaches, we find a strong preference for developers being kept in the loop (for example, choosing between different fixes or validating fixes) as opposed to a fully automated process. This suggests that advances in APR should be careful to consider the agency of the developer, as well as what information is presented to developers alongside fixes. It also indicates that there are key barriers related to trust that would need to be overcome for full scale APR adoption, supported by the fact that even those developers who stated that they were positive about APR listed several caveats and concerns. We find very few statistically significant relationships between particular demographic variables (for example, developer experience, age, education) and key attitudinal variables, suggesting that developers' instinctive attitudes towards APR are little influenced by experience level but are held widely across the developer community.",
author = "Emily Winter and David Bowes and Steve Counsell and Tracy Hall and Saemundur Haraldsson and Vesna Nowack and John Woodward",
year = "2023",
month = apr,
day = "1",
doi = "10.1109/tse.2022.3194188",
language = "English",
volume = "49",
pages = "1823--1841",
journal = "IEEE Transactions on Software Engineering",
issn = "0098-5589",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "4",

}

RIS

TY - JOUR

T1 - How do developers really feel about bug fixing?

T2 - Directions for automatic program repair

AU - Winter, Emily

AU - Bowes, David

AU - Counsell, Steve

AU - Hall, Tracy

AU - Haraldsson, Saemundur

AU - Nowack, Vesna

AU - Woodward, John

PY - 2023/4/1

Y1 - 2023/4/1

N2 - Automatic program repair (APR) is a rapidly advancing field of software engineering that aims to supplement or replace manual bug fixing with an automated tool. For APR to be successfully adopted in industry, it is vital that APR tools respond to developer needs and preferences. However, very little research has considered developers' general attitudes to APR or developers' current bug fixing practices (the activity APR aims to replace). This article responds to this gap by reporting on a survey of 386 software developers about their bug finding and fixing practices and experiences, and their instinctive attitudes towards APR. We find that bug finding and fixing is not necessarily as onerous for developers as has often been suggested, being rated as more satisfying than developers' general work. The fact that developers derive satisfaction and benefit from bug fixing indicates that APR adoption is not as simple as APR replacing an unwanted activity. When it comes to potential APR approaches, we find a strong preference for developers being kept in the loop (for example, choosing between different fixes or validating fixes) as opposed to a fully automated process. This suggests that advances in APR should be careful to consider the agency of the developer, as well as what information is presented to developers alongside fixes. It also indicates that there are key barriers related to trust that would need to be overcome for full scale APR adoption, supported by the fact that even those developers who stated that they were positive about APR listed several caveats and concerns. We find very few statistically significant relationships between particular demographic variables (for example, developer experience, age, education) and key attitudinal variables, suggesting that developers' instinctive attitudes towards APR are little influenced by experience level but are held widely across the developer community.

AB - Automatic program repair (APR) is a rapidly advancing field of software engineering that aims to supplement or replace manual bug fixing with an automated tool. For APR to be successfully adopted in industry, it is vital that APR tools respond to developer needs and preferences. However, very little research has considered developers' general attitudes to APR or developers' current bug fixing practices (the activity APR aims to replace). This article responds to this gap by reporting on a survey of 386 software developers about their bug finding and fixing practices and experiences, and their instinctive attitudes towards APR. We find that bug finding and fixing is not necessarily as onerous for developers as has often been suggested, being rated as more satisfying than developers' general work. The fact that developers derive satisfaction and benefit from bug fixing indicates that APR adoption is not as simple as APR replacing an unwanted activity. When it comes to potential APR approaches, we find a strong preference for developers being kept in the loop (for example, choosing between different fixes or validating fixes) as opposed to a fully automated process. This suggests that advances in APR should be careful to consider the agency of the developer, as well as what information is presented to developers alongside fixes. It also indicates that there are key barriers related to trust that would need to be overcome for full scale APR adoption, supported by the fact that even those developers who stated that they were positive about APR listed several caveats and concerns. We find very few statistically significant relationships between particular demographic variables (for example, developer experience, age, education) and key attitudinal variables, suggesting that developers' instinctive attitudes towards APR are little influenced by experience level but are held widely across the developer community.

U2 - 10.1109/tse.2022.3194188

DO - 10.1109/tse.2022.3194188

M3 - Journal article

VL - 49

SP - 1823

EP - 1841

JO - IEEE Transactions on Software Engineering

JF - IEEE Transactions on Software Engineering

SN - 0098-5589

IS - 4

M1 - 4

ER -