转载前言:智能时代正在来临,AI不能替代的就是选择。也许透明化的结果就是,地球终将留给AI,人类的目标终归星辰大海……
转载来源:https://mp.weixin.qq.com/s/CwtTdtKS161iBYAau0eUrA
Facebook悄悄地构建并部署了一个名为SapFix的人工智能编程工具,可以扫描代码,自动识别错误,测试不同的补丁包(patches)并建议工程师可以选择最佳补丁包进行部署。这是在昨天(美国时间)的Facebook@Scale工程大会上公布的,SapFix已经在Facebook庞大的代码库上运行,该公司计划最终与开发者社区分享它。
Facebook的开发人员工具团队可以自豪地说:这标志着机器生成的修复程序 - 自动的端到端测试和修复 - 已首次部署到Facebook大规模的代码库中。这是AI混合动力车的一个重要里程碑,并提供了进一步的证据,证明基于搜索的软件工程可以减少软件开发中的摩擦。”SapFix可以在有或没有Sapienz( 一年前Facebook公布的能够自动测试、识别安卓软件漏洞的工具,每月能发现数百个 Bugs,并能精准定位存在Bug的代码行,Sapienz最初是由伦敦大学学院研发的)的情况下运行。但如果将Sapienz与SapFix结合起来使用,为Sapienz发现的问题提出了解决方案——即目前SapFix专注于修复 Sapienz 发现的 Bug。一旦 Sapienz 发现并推断出与 Bug 相关的特定部分代码,它就将该信息发送给 SapFix,SapFix会根据一些策略自动生成多个补丁包,并建议开发者选择其中最好的补丁包。其工作流程见下图:
Facebook悄悄地构建并部署了一个名为SapFix的人工智能编程工具,可以扫描代码,自动识别错误,测试不同的补丁包(patches)并建议工程师可以选择最佳补丁包进行部署。这是在昨天(美国时间)的Facebook@Scale工程大会上公布的,SapFix已经在Facebook庞大的代码库上运行,该公司计划最终与开发者社区分享它。
Facebook的开发人员工具团队可以自豪地说:这标志着机器生成的修复程序 - 自动的端到端测试和修复 - 已首次部署到Facebook大规模的代码库中。这是AI混合动力车的一个重要里程碑,并提供了进一步的证据,证明基于搜索的软件工程可以减少软件开发中的摩擦。”SapFix可以在有或没有Sapienz( 一年前Facebook公布的能够自动测试、识别安卓软件漏洞的工具,每月能发现数百个 Bugs,并能精准定位存在Bug的代码行,Sapienz最初是由伦敦大学学院研发的)的情况下运行。但如果将Sapienz与SapFix结合起来使用,为Sapienz发现的问题提出了解决方案——即目前SapFix专注于修复 Sapienz 发现的 Bug。一旦 Sapienz 发现并推断出与 Bug 相关的特定部分代码,它就将该信息发送给 SapFix,SapFix会根据一些策略自动生成多个补丁包,并建议开发者选择其中最好的补丁包。其工作流程见下图:
SapFix 会将测试过的补丁发送给研发人员,进行人工评审,决定是否采用。甚至SapFix 可以从多个候选补丁中选择最佳的解决方案,向研发人员推荐。该工具依赖工程师的专业知识来确认是否应该部署提出的补丁,但系统会自动追踪评审者的反馈,接受补丁或丢弃补丁,在这过程中获得学习。