User-Centric Deployment of Automated Program Repair at Bloomberg

32 views
Skip to first unread message

mech...@gmail.com

unread,
Nov 20, 2023, 2:00:12 PM11/20/23
to Discussion on program repair

Dear Colleagues, 


We are proud to announce the deployment of a new automated program repair tool B-Assist at Bloomberg, as detailed in the article  


User-Centric Deployment of Automated Program Repair at Bloombergauthored by David Williams, James Callan, Serkan Kirbas, Sergey Mechtaev, Justyna Petke, Thomas Prideaux-Ghee, Federica Sarro, available at https://arxiv.org/abs/2311.10516. 


In previous attempts to deploy automated development tools at Bloomberg, such as feature flag removal, the acceptance rate of automated changes was considerably lower than expected. This is because these changes were often irrelevant to the current project goals or were submitted without sufficient context or explanation. 


To address these challenges, we created B-Assist, the first deployment of automated program repair focused on user experience. Our goal was to seamlessly integrate this tool into the software development workflow at Bloomberg, thus eliminating the issue of overwhelming developers with unnecessary or irrelevant suggestions. To achieve this, B-Assist generates patches within existing pull requests (PRs), exclusively for code modified within these PRs. This ensures that the patches are not only relevant but are also presented at the most suitable moment, to the right developer, in the right context. B-Assist uses GitHub’s Suggested Changes feature to conveniently present patches for developers, as shown in Figure 1. 

 

Figure 1: B-Assist at Bloomberg 


B-Assist has been deployed across 1000 repositories at Bloomberg. It uses tools like Bloomberg’s Fixie and Clang-tidy as patch generation backends. User studies demonstrated a high acceptance rate of APR suggestions generated and presented by B-Assist. To illustrate its impact, we report in Figure 2 the first real-world patch suggestion generated by B-Assist and accepted by a software engineer at Bloomberg. 

 

Figure 2: The first real-world patch suggestion generated by B-Assist, which was accepted by a software engineer at Bloomberg. 
 
We hope that this work will encourage the APR community to consider various aspects of user experience in their research, as it is essential for the successful adoption of program repair in practice. 


Regards, 
B-Assist Team at UCL & Bloomberg 

mech...@gmail.com

unread,
Nov 20, 2023, 2:10:18 PM11/20/23
to Discussion on program repair
Dear Colleagues,

If you encounter issues with displaying figures in the email, please use these links instead:


Regards,
Sergey

Reply all
Reply to author
Forward
0 new messages