  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 generating irrelevant or out-of-context patches. When software
engineers are presented with patches they deem uninteresting or unhelpful, they
are burdened 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-generated 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 creating new, potentially distracting PRs. This strategy ensures
that suggestions are not only timely, but also contextually relevant and
delivered to engineers most familiar with the affected code. 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%; engineers also found the
suggestions valuable, giving usefulness 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.
