How do Developers Really Feel About Bug Fixing? Directions for Automatic Program Repair

被引:11
作者
Winter, Emily [1 ]
Bowes, David [1 ]
Counsell, Steve [2 ]
Hall, Tracy [1 ]
Haraldsson, Saemundur [3 ]
Nowack, Vesna [1 ]
Woodward, John [4 ]
机构
[1] Univ Lancaster, Sch Comp & Commun, Lancaster LA1 4YW, England
[2] Brunel Univ London, Dept Comp Sci, Uxbridge UB8 3PH, England
[3] Univ Stirling, Dept Comp Sci & Math, Stirling FK9 4LA, Scotland
[4] Queen Mary Univ London, Sch Elect Engn & Comp Sci, London E1 4NS, England
基金
英国工程与自然科学研究理事会;
关键词
Computer bugs; Software; Debugging; Automation; Maintenance engineering; Task analysis; Manuals; ACCEPTANCE; TRUST; TIME;
D O I
10.1109/TSE.2022.3194188
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:1823 / 1841
页数:19
相关论文
共 60 条
[1]   Predicting bug-fixing time: A replication study using an open source software project [J].
Akbarinasaji, Shirin ;
Caglayan, Bora ;
Bener, Ayse .
JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 136 :173-186
[2]   How Much Time Do You Spend Online? Understanding and Improving the Accuracy of Self-Reported Measures of Internet Use [J].
Araujo, Theo ;
Wonneberger, Anke ;
Neijens, Peter ;
de Vreese, Claes .
COMMUNICATION METHODS AND MEASURES, 2017, 11 (03) :173-190
[3]   Getafix: Learning to Fix Bugs Automatically [J].
Bader, Johannes ;
Scott, Andrew ;
Pradel, Michael ;
Chandra, Satish .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (OOPSLA)
[4]  
Balachandran V, 2013, IEEE INT WORK C SO, P167, DOI 10.1109/SCAM.2013.6648198
[5]   Worse Than Spam: Issues In Sampling Software Developers [J].
Baltes, Sebastian ;
Diehl, Stephan .
ESEM'16: PROCEEDINGS OF THE 10TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, 2016,
[6]   On the Dichotomy of Debugging Behavior Among Programmers [J].
Beller, Moritz ;
Spruit, Niels ;
Spinellis, Diomidis ;
Zaidman, Andy .
PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, :572-583
[7]   Where Is the Bug and How Is It Fixed? An Experiment with Practitioners [J].
Bohme, Marcel ;
Soremekun, Ezekiel O. ;
Chattopadhyay, Sudipta ;
Ugherughe, Emamurho ;
Zeller, Andreas .
ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, :117-128
[8]  
Bourque L.B., 1995, CONDUCT SELF ADM MAI
[9]  
Cambronero Jose Pablo, 2019, 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). Proceedings, P181, DOI 10.1109/VLHCC.2019.8818884
[10]   Coding In-depth Semistructured Interviews: Problems of Unitization and Intercoder Reliability and Agreement [J].
Campbell, John L. ;
Quincy, Charles ;
Osserman, Jordan ;
Pedersen, Ove K. .
SOCIOLOGICAL METHODS & RESEARCH, 2013, 42 (03) :294-320