Abstract

Automatic program repair (APR) offers significant potential for automating some coding tasks. Using APR could reduce the high costs historically associated with fixing code faults and deliver significant benefits to software engineering. Adopting APR could also have profound implications for software developers’ daily activities, transforming their work practices. To realise the benefits of APR it is vital that we consider how developers feel about APR and the impact APR may have on developers’ work. Developing APR tools without consideration of the developer is likely to undermine the success of APR deployment. In this paper, we critically review how developers are considered in APR research by analysing how human factors are treated in 260 studies from Monperrus’s Living Review of APR. Over half of the 260 studies in our review were motivated by a problem faced by developers (e.g., the difficulty associated with fixing faults). Despite these human-oriented motivations, fewer than 7% of the 260 studies included a human study. We looked in detail at these human studies and found their quality mixed (for example, one human study was based on input from only one developer). Our results suggest that software developers are often talked <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">about</i> in APR studies, but are rarely talked <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">with</i> . A more comprehensive and reliable understanding of developer human factors in relation to APR is needed. Without this understanding, it will be difficult to develop APR tools and techniques which integrate effectively into developers’ workflows. We recommend a future research agenda to advance the study of human factors in APR.

Highlights

  • W E investigate how the human factors associated with developers are considered in automatic program repair (APR) research,and, where human studies have been conducted, we evaluate their quality

  • Of the 81.1% of papers that introduced a new tool or technique, 67.0% mention a problem that developers currently face as a motivation for their work and 36.0% specify that their APR tool/technique will be helpful to developers

  • We looked at all the papers that emerged from these searches and, by using the protocol described in Section 4 to determine whether a paper included a human study, found one APR human study that was not included in the Living Review

Read more

Summary

Introduction

W E investigate how the human factors associated with developers are considered in automatic program repair (APR) research,and, where human studies have been conducted, we evaluate their quality. Fixing code faults promises many potential benefits, including improving the quality of software [1], reducing the development time spent on fault fixing [2] and lowering the overall costs of software development [3]. These benefits are very attractive to software companies with several (e.g., Facebook) already trying out APR techniques in their development pipeline [4]. Whilst other tools offer developers assistance in their work, APR has the potential to remove the developer entirely from the process of bug fixing.

Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call