来自Google开发者的一手实战:使用机器学习解决代码审查评论章泽天赴戛纳晚宴,穿抹胸裙勒出副乳,被疑面相变了不如以前清纯

2023-06-02 0 170

来自Google开发者的一手实战:使用机器学习解决代码审查评论章泽天赴戛纳晚宴,穿抹胸裙勒出副乳,被疑面相变了不如以前清纯

【CSDN 萨德基】标识符审核是小规模软件合作开发操作过程中的一个重要部分,挤占了标识符递交相关人员和标识符审核员的大批天数。Google也不值得一提,有鉴于此,她们选用了前段时间在字符串数学模型中的一流控制技术,以手动化解 Google 日常生活合作开发组织工作业务流程中的代码审核文章。

书名门牌号:https://ai.googleblog.com/2023/05/resolving-code-review-comments-with-ml.html

未经许可,明令禁止转发!

翻译者 | Alexander Frömmgen,Lera Kharatyan,Google核心理念系统和新体验项目组 翻译者 | 没错如月公司出品 | CSDN(ID:CSDNnews)在标识符审核操作过程中,审核员会审核标识符中的问题并撰写文章要求翻译者进行标识符更动。在 Google,她们每月看到上百万条审核员的文章,翻译者们需要耗费约 60 两分钟的天数来应付这些文章,并依照文章的文档提出标识符更动。她们研究发现,标识符翻译者为化解审核员文章必须牺牲的组织工作天数几乎随文章数量非线性增长。不过,借助于机器学习(ML),她们能手动化并精简标识符审核操作过程,比如,依照标识符审核文章手动得出相关联的标识符更改。那时,她们选用了前段时间在字符串数学模型中的一流控制技术,以手动化解 Google 日常生活合作开发组织工作业务流程中的标识符审核文章(将要发布)。止那时,Google 的技师已经能通过应用领域 ML 提议的修正来处置大批的标识符审核员评审委员提议。她们预计这将每月为 Google 节约数千半小时的标识符审核天数。她们接到了很多非常积极的意见反馈,说明了机器学习提议的标识符修正的确提高了 Google 合作开发相关人员的劳动生产率, 能够让她们著眼于更有远见和繁杂的各项任务。预测标识符修正她们首先训练了一个数学模型来预测化解文章所需的标识符修正。该数学模型在各种编码各项任务和相关的合作开发相关人员活动 (比如,重命名一个变量, 化解构建操作过程中的错误, 编辑一个文件) 上进行了预训练。然后,使用审核过的标识符修正、审核员的文章以及作者执行的化解这些文章的修正,对该数学模型进行特定各项任务的微调。

这是一个基于 ML 提议进行标识符重构的一个实例

Google 使用一个单体仓库(monorepo),这是一种源标识符管理策略,所有的标识符和资源都存储在同一个仓库中,而不是分散在多个仓库中。这种策略有许多优点,包括标识符共享和重用、小规模重构、协作和依赖管理等。这使得她们的训练数据集能够包含用于构建 Google 最新软件及其之前版本的海量标识符。为了改进数学模型质量,她们不断迭代训练数据集。比如,她们比较了包含每个文件的单个审核员文章的数据集与每个文件的多个文章的数据集的数学模型性能,并使用分类器依照一个小型、精心策划的数据集来清理训练数据,以选择具有最佳离线精度和召回率指标的数学模型。服务基础设施和用户新体验,探索了不同的用户新体验(UX)替代方案。然后,她们依照源自内部测试版(即,合作开发中的功能测试)的洞察,包括用户意见反馈(比如,在提议的编辑旁边 加入 “这有帮助吗?(Was this helpful)”按钮),对功能进行了优化。最终的数学模型被校准为目标 准确率为50%。也就是说,她们调整了数学模型和提议过滤,以使她们的评估数据集中50%的提议修正是正确的。一般来说,提高目标准确率会减少显示的提议编辑的数量,降低目标准确率会导致更多的错误提议编辑。错误的提议编辑会挤占合作开发相关人员的天数,降低合作开发相关人员对该功能的信任。她们发现,目标准确率为50%提供了一个良好的平衡。在较高层次上,对于每个新的审核员文章,她们以与训练相同的格式生成数学模型输入,查询数学模型,并生成提议的标识符修正。如果数学模型对预测有信心,并且满足了一些额外的启发式规则,她们就会将提议的修正发送到下游系统。下游系统,即标识符审核前端和集成合作开发环境(IDE),向用户展示提议的编辑,并记录用户交互,如预览和应用领域事件。一个专门的管道收集这些日志,并生成汇总洞察,比如,本博客文章中报告的总体接受率。

ML 提议编辑(ML-suggested edits)基础设施的架构。

合作开发相关人员在标识符审核工具和 IDE 中与 ML 提议的编辑进行交互。依照用户研究的洞察,集成到标识符审核工具中最适合于流线型的审核新体验。IDE 集成提供了额外的功能,并支持在审核过的标识符状态(右图)上有冲突的本地更动情况下,对 ML 提议的编辑(左图)进行三方合并,合并到合并结果(中图)。
来自Google开发者的一手实战:使用机器学习解决代码审查评论章泽天赴戛纳晚宴,穿抹胸裙勒出副乳,被疑面相变了不如以前清纯

IDE 中的三向合并的演示

结果离线评估表明,数学模型以 50% 的目标精确度化解了 52% 的文章。测试版和完整内部发布的在线指标确认了这些离线指标,也就是说,她们看到约 50% 的所有相关审核员文章上,数学模型提议的信心超过了她们的目标数学模型信心。标识符翻译者应用领域了所有预览过的提议编辑的 40% 到 50%。
来自Google开发者的一手实战:使用机器学习解决代码审查评论章泽天赴戛纳晚宴,穿抹胸裙勒出副乳,被疑面相变了不如以前清纯
在测试版期间,她们利用 “没有帮助(not helpful)” 的意见反馈来识别数学模型的常见失败模式。她们实施了服务天数启发式规则来过滤这些,并因此减少了显示的错误预测的数量。通过这些更动,她们用质量换取了数量,并观察到现实世界接受率的增加。她们的测试版推出显示出一个潜在的问题:标识符翻译者只预览了约所有生成的提议编辑的 20%。她们优化了用户新体验,在审核员文章旁边引入了一个显眼的 “显示 ML 编辑(Show ML-edit)” 按钮(参见上图),在发布时的总预览率约提升到了 40%。她们还发现,由于翻译者在审核操作过程中进行了冲突的更动,标识符审核工具中的提议编辑经常不适用。她们用一个按钮化解了这个问题,这个按钮在标识符审核工具中打开了一个合并视图,用于提议的编辑。她们现在观察到,这些中有超过 70% 的在标识符审核工具中应用领域,不到 30% 的在 IDE 中应用领域。所有这些改变使她们能够将选用 ML 提议编辑化解的审核员文章的总体比例增加了两倍,从测试版到完全内部发布。在 Google 能帮助她们每月手动化解几十万条文章。
来自Google开发者的一手实战:使用机器学习解决代码审查评论章泽天赴戛纳晚宴,穿抹胸裙勒出副乳,被疑面相变了不如以前清纯
提议过滤漏斗她们看到 ML 提议的编辑在生产中化解了审核员文章的广泛范围。这包括简单的局部重构和在标识符中分散的重构,如上述博客文章中的示例所示。该功能化解了需要标识符生成、重构和导入的较长和非正式措辞的文章。

一个需要标识符生成、重构和导入的较长且标识符评审委员提议的示例

数学模型也能回应繁杂的文章并产生较大范围的标识符修正(如下所示)。生成的测试案例遵循现有的单元测试模式,同时更动文章中描述的细节。此外,编辑提议了一个全面的测试名称,反映了测试的语义。

数学模型回应繁杂文章并生成大批标识符修正的能力的示例

结论和未来组织工作在这篇文章中,她们介绍了一个机器学习( ML)辅助功能,以减少在标识符审核相关修正上耗费的天数。目前,在 Google 使用的编程语言中,大批的所有可操作的标识符审核文章都能通过应用领域 ML 提议的编辑来化解。她们将在所有 Google 合作开发相关人员中进行的为期 12 周的 A/B 实验将进一步衡量该功能对整体合作开发者劳动生产率的影响。她们正在全面优化整个控制技术栈。这包括提高数学模型的质量和召回率,给合作开发相关人员提供更流畅的使用新体验,通过改进发现性(提供清晰的界面和导航,以帮助用户快速找到她们所需的功能,而无需耗费过多的天数和精标识符修正提议。致谢这是 Google 核心理念系统和新体验项目组、Google Research 和 DeepMind 的许多人的共同研究成果。她们特别感谢 Peter Choy 为她们的合作提供支持,以及我们项目组所有成员的关键贡献和有益提议,包括 Marcus Revaj、Gabriela Surita、Maxim Tabachnyk、Jacob Austin、Nimesh Ghelani、Dan Zheng、Peter Josling、Mariana Stariolo、Chris Gorgolewski、Sascha Varkevisser、Katja Grünwedel、Alberto Elizondo、Tobias Welp、Paige Bailey、Pierre-Antoine Manzagol、Pascal Lamblin、Chenjie Gu、Petros Maniatis、Henryk Michalewski、Sara Wiltberger、Ambar Murillo、Satish Chandra、Madhura Dudhgaonkar、Niranjan Tulpule、Zoubin Ghahramani、Juanjo Carin、Danny Tarlow、Kevin Villela、Stoyan Nikolov、David Tattersall、Boris Bokowski、Kathy Nix、Mehdi Ghissassi、Luis C. Cobo、Yujia Li、David Choi、Kristóf Molnár、Vahid Meimand、Amit Patel、Brett Wiltshire、Laurent Le Brun、Mingpan Guo、Hermann Loose、Jonas Mattes、Savinee Dancs。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务