0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

再也不需要debug?Facebook开发的AI工具帮你搞定

电子工程师 来源:未知 作者:李倩 2018-09-16 10:42 次阅读

“如果 Facebook 没有 AI,那它将失去根基。”去年@Scale软件工程大会上,Facebook AML 实验室负责人 Joaquin Candela 在演讲中坦露。

Scale,顾名思义,即规模化设计 AI。由 Joaquin Candela 领导的 AML 实验室主要负责的,就是将 AI 应用在 Facebook 的各种产品上。值得一提的是,Facebook 另一支由 Yann LeCun 领导的 FAIR 实验室,更专注于 AI 的基础研究。两支队伍相辅相成,共同推动着 AI 在 Facebook的发展和应用。如今,Facebook 利用 AI 再推新款代码调试工具SapFix。

近日,在加州旧金山湾区的圣何塞举办的 Facebook @Scale 2018 大会上,Facebook 宣布了它的新款工具 SapFix,可针对特定的 bug 自动生成修复程序,然后将其提交给工程师,经确认之后,然后再部署到生产环境中。相比其一年前已投入大规模使用的智能自动化软件测试工具 Sapienz,SapFix 能够在没有 Sapienz 的情况下运行,主要用于修复 Sapienz 在生产前发现的程序 bug。不过,目前SapFix 仍在开发阶段。

▌SapFix 是如何 debug 的呢?

从发现 bug 到修复 bug,Facebook 有一套完整的流程:首先 Sapienz 以及 Facebook 的静态分析工具 Infer,会帮助定位代码中需要修补的点;一旦 Sapienz 和 Infer 精确定位与崩溃相关的特定代码部分之后,就会将该信息传递给 SapFix;最后,SapFix 会参考几种不同的策略,自动生成补丁。

SapFix如何为软件bug生成补丁

为了解决高触发错误,SapFix 会创建修补程序,该修补程序可以完全或部分恢复原来提交的代码。对于更复杂的崩溃错误,SapFix 系统会通过根据模板修复集合中来生成补丁。这些模板是从人类工程师基于过去的修复库创建的模板中自动获取的。

当人类设计的模板不适合时,SapFix 将尝试基于突变的修复,从而对导致崩溃的语句的抽象语法树(AST)执行小的代码修改,对补丁进行调整,直到找到潜在的解决方案。

▌自主验证和人工审核

找到特定的补丁,并不意味着 SapFix 的工作已经结束。SapFix 会针对每个 bug 生成多个可能的修复程序,然后通过下面三个问题来评估他们的质量:

是否存在编译错误?

崩溃是否依然存在?

修复程序是否引入新的崩溃?

为了解决以上后两个问题,SapFix 会在修补后的版本上运行现有的开发人员编写的以及 Sapienz 创建的测试程序。和前面的补丁生成步骤一样,这个验证过程是自主进行的,而且会与更大的代码库隔离开来。这个过程相当于人们目前所做的调试工作,但是它并不是为了自己将修复程序部署到生产代码中。

当修补程序经过全面测试之后,SapFix 会将它们发送给人类审查者进行审核。这非常类似于人工生成的报告由其他开发人员检查和批准的方式,除了系统自动跟踪审阅者的反馈外,它还会接受经批准的补丁,然后清理其他补丁。在某些情况下,SapFix 可以从几个选项中选择最佳解决方案,并向工程师提出建议。

SapFix如何基于生成的补丁寻求工程师的反馈

虽然 SapFix 还不能自己部署自己提出的修复方案,但它帮助工程师节省了大量的时间和精力,且具备很大的技术潜力。

根据 Facebook 的数据,Sapienz 报告的大约四分之三的错误都需要开发者来修复。自 Facebook 今年 8 月开始测试 SapFix 之后,该工具已经成功生成了被人类审核者接受并部署于生产的补丁。

▌写在最后

据 Facebook 的开发人员称,“这标志着机器生成的修复程序(具有自动端到端测试和修复)首次被部署到 Facebook 规模的代码库中。这是 AI 与人类工程师结合的一个重要里程碑。SapFix 的成功也表明基于搜索的软件工程可以减少软件开发中的阻碍。”

作为可以处理不同类型的错误和软件的工具, SapFix 有可能改变代码生成的速度和质量。该款工具不仅适用于大规模运营的公司,也适用于需要编程的个人或小公司。无论是一起使用还是单独使用, SapFix 和 Sapienz 都可以让开发人员花更少的时间进行调试。

接下来,Facebook团队将与工程社区分享 SapFix,因为这是自动化调试发展的下一步,有为广泛的公司和研究组织提高新代码的生产和稳定性的巨大潜力。

此次@Scale 2018 大会上,除了公布 SapFix 外,Facebook 还宣布了与顶级芯片制造商的合作,包括Cadence、Esperanto、Intel、 Marvell、高通,它们承诺将在未来芯片产品的制造上提供支持 Facebook 机器学习编辑器 Glow 的解决方案。这反映出 Facebook 正诉诸于利用社区推进其围绕自身机器学习软件重新定位计算硬件生态系统的战略,而这也有助于合作伙伴快速设计和优化新款芯片产品在人工智能和机器学习上的能力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Facebook
    +关注

    关注

    3

    文章

    1427

    浏览量

    54020
  • 人工智能
    +关注

    关注

    1775

    文章

    43688

    浏览量

    230480
  • DEBUG
    +关注

    关注

    3

    文章

    82

    浏览量

    19389

原文标题:@程序员,终于可以放心写bug了!Facebook的debug神器你值得拥有

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    不需要License不需要烧录器,板卡集成下载器和调试功能,盘古PGX-Lite 7K开发

    不需要License不需要烧录器,板卡集成下载器和调试功能,盘古PGX-Lite 7K开发板,紫光同创Compa系类低功耗CPLD,基于PGC7KD-6IMBG256,轻松掌握国产FPGA操作
    发表于 03-08 13:51

    转: DIY微信直连台灯(不需要自己搭建服务器)

    微信直连控制台灯(不需要自己搭建服务器)再也不用下床去关灯了。{:12:}
    发表于 07-21 13:59

    万用表、示波器、热风枪、这些开发工具一天搞定

    万用表、示波器、热风枪、这些开发工具一天搞定再也不会把事件浪费在不会使用工具上了
    发表于 07-13 17:38

    一张图读懂阿里巴巴一站式研发协同云——云效

    工具支撑,助力企业快速创新迭代和研发效能升级,帮你通通全搞定,Boss再也不用担心我没法如期交付啦!点此查看原文:[url=]http://click.aliyun.com/m/413
    发表于 01-31 14:32

    如何搞定树莓派AI服务开发

    微软专家教你,如何搞定树莓派 AI 服务开发
    发表于 05-29 06:00

    请问Nuclei studio 2022版本是不是不需要HBird SDk环境配置与工具链安装了?

    Nuclei studio 2022.2版本是不是不需要HBird SDk环境配置与工具链安装了,还是说新版需要装什么不需要装什么,急!(windows和Linux如果不一样的话能分别
    发表于 08-12 07:49

    不需要钟脉的模一数变换器

    不需要钟脉的模一数变换器
    发表于 04-10 10:15 437次阅读
    <b class='flag-5'>不需要</b>钟脉的模一数变换器

    不需要加门电路的自校正环形计数器

    不需要加门电路的自校正环形计数器
    发表于 04-10 10:21 942次阅读
    <b class='flag-5'>不需要</b>加门电路的自校正环形计数器

    不需要场效应管的多路传输开关

    不需要场效应管的多路传输开关
    发表于 04-13 10:44 839次阅读
    <b class='flag-5'>不需要</b>场效应管的多路传输开关

    不需要调光应用中单级PFC/恒流设计优势

      对于不需要调光的应用,使用LinkSwitch-PH就可以省去电解电容。我们的单级PFC/恒流设计可以让设计师省去大容量
    发表于 12-01 09:16 997次阅读

    OPPO陈明永:AI不需要被神化,到头来还是要满足用户的核心需求

    在今天举行的“高通中国技术与合作峰会”上,OPPO CEO陈明永表示,AI不需要被神化,到头来还是要满足用户的核心需求。国际市场不能蜻蜓点水,要深耕。
    的头像 发表于 01-29 14:52 3553次阅读

    区块链将让世界再也不需要传真机

    以瑞典北欧斯安银行(SEB)为例,该银行正与纳斯达克合作创建新的互惠基金交易平台。目前,该银行的流程包括通过传真发送订单,然后在通过电话进行跟进,就是那种冗长的人工例程,却也刚好适合进行自动化升级。
    发表于 09-30 11:13 1012次阅读

    不需要电感器

    不需要电感器
    发表于 04-29 12:14 3次下载
    <b class='flag-5'>不需要</b>电感器

    对讲机到底需不需要中继台?

    有不少网友都想了解下,对讲机到底需不需要中继台?其实这主要还是看对讲机的使用场景了。
    的头像 发表于 03-15 15:58 1803次阅读
    对讲机到底需<b class='flag-5'>不需要</b>中继台?

    实用的单片机接反电路,再也不怕电源接反了

    实用的单片机接反电路,再也不怕电源接反了
    的头像 发表于 10-17 17:32 622次阅读
    实用的单片机接反电路,<b class='flag-5'>再也不</b>怕电源接反了