User-Centric Deployment of Automated Program Repair at Bloomberg
Automated program repair (APR) tools have unlocked the potential for the rapid rectification of codebase issues. However, to encourage wider adoption of program repair in practice, it is necessary to address the usability concerns related to the generation of irrelevant or out-of-context patches: when software engineers are presented with patches they deem uninteresting or unhelpful, they are burdened with having to deal with more “noise” in their workflows, and become less likely to engage with APR tools in future. This paper presents a novel approach to optimally time, target, and present auto-patches to software engineers. To achieve this, we designed, developed and deployed a new tool, dubbed B-Assist, which leverages GitHub’s Suggested Changes interface to seamlessly integrate automated suggestions into active pull requests (PRs), as opposed to initiating new, potentially distracting PRs. This strategy ensures that suggestions are not only timely but also contextually relevant and delivered to the most suitable software engineers. Evaluation among Bloomberg software engineers demonstrated their preference for this approach. From our user study, B-Assist’s efficacy is evident, with the acceptance rate of patch suggestions being as high as 74.56%; the suggestions were also found useful with ratings of at least 4 out of 5 in 78.2% of cases. Further, this paper sheds light on persisting usability challenges in APR and lays the groundwork for enhancing the user experience in future APR tools.
Wed 17 AprDisplayed time zone: Lisbon change
14:00 - 15:30 | Program Repair 2Journal-first Papers / Research Track / Software Engineering in Practice at Pequeno Auditório Chair(s): Xiang Gao Beihang University | ||
14:00 15mTalk | Practical Program Repair via Preference-based Ensemble Strategy Research Track Wenkang Zhong State Key Laboratory for Novel Software and Technology, Nanjing University, 22 Hankou Road, Nanjing, China, Chuanyi Li Nanjing University, Kui Liu Huawei, Tongtong Xu Huawei, Jidong Ge Nanjing University, Tegawendé F. Bissyandé University of Luxembourg, Bin Luo Nanjing University, Vincent Ng Human Language Technology Research Institute, University of Texas at Dallas, Richardson, TX 75083-0688 | ||
14:15 15mTalk | Learning and Repair of Deep Reinforcement Learning Policies from Fuzz-Testing Data Research Track Martin Tappler TU Graz; Silicon Austria Labs, Andrea Pferscher Institute of Software Technology, Graz University of Technology , Bernhard Aichernig Graz University of Technology, Bettina Könighofer Graz University of Technology | ||
14:30 15mTalk | BinAug: Enhancing Binary Similarity Analysis with Low-Cost Input Repairing Research Track WONG Wai Kin Hong Kong University of Science and Technology, Huaijin Wang Hong Kong University of Science and Technology, Li Zongjie Hong Kong University of Science and Technology, Shuai Wang The Hong Kong University of Science and Technology | ||
14:45 15mTalk | Constraint Based Program Repair for Persistent Memory Bugs Research Track | ||
15:00 15mTalk | User-Centric Deployment of Automated Program Repair at Bloomberg Software Engineering in Practice David Williams University College London, James Callan UCL, Serkan Kirbas Bloomberg LP, Sergey Mechtaev University College London, Justyna Petke University College London, Thomas Prideaux-Ghee Bloomberg LP, Federica Sarro University College London | ||
15:15 7mTalk | AIBugHunter: A Practical Tool for Predicting, Classifying and Repairing Software Vulnerabilities Journal-first Papers Michael Fu Monash University, Kla Tantithamthavorn Monash University, Trung Le Monash University, Australia, Yuki Kume Monash University, Van Nguyen Monash University, Dinh Phung Monash University, Australia, John Grundy Monash University Link to publication DOI Pre-print |