拉力请求是当今协作软件开发和代码审核过程的关键部分。但是,当审阅者或作者不积极参与拉动请求时,拉动请求也可以减慢软件开发过程。在这项工作中,我们设计了一项端到端服务,以提醒作者或审阅者与他们的逾期拉动请求互动,以加速逾期拉动请求。首先,我们根据努力估算和机器学习使用模型来预测给定拉的请求的完成时间。其次,我们使用活动检测来滤除可能逾期的拉请请求,但仍在采取足够的动作。最后,我们使用演员身份证来了解拉动请求的阻止者是谁,并推动适当的演员(作者或审稿人)。轻推的主要新颖性是它成功地减少了拉动请求解决时间,同时确保开发人员认为发送的通知在成千上万的存储库中是有用的。在Microsoft使用的147个存储库的随机试验中,Nudge能够将拉的请求分辨率时间减少60%,而与Nudge未发送通知的逾期拉动请求相比,该请求的8,500次拉。此外,收到推动通知的开发人员将这些通知的73%置于正面。我们观察到在Microsoft的8,000个存储库中扩展Nudge的部署时,我们观察到了类似的结果,在整整一年中,Nudge发送了210,000个通知。这表明了Nudge可以扩展到数千个存储库的能力。最后,我们对选择通知的定性分析指示了未来研究的领域,例如在拉动请求和开发人员的可用性中考虑依赖性。
translated by 谷歌翻译