首页
首页 >> 科技咖 >> 正文

谷歌最新开源的工具可以自动化查找并修复 bug!

日期:2019-02-10 10:38:38 来源:互联网 编辑:小狐 阅读人数:228

近日,谷歌开源了一个模糊基础设施—ClusterFuzz,可以非常简单地自动化查找并修复程序中的 bug。

谷歌最新开源的工具可以自动化查找并修复 bug!(图1)

模糊是一种用于自动化检测软件中存在的问题的方法,其通过向目标程序意外输入来实现。它能有效地发现可以带来严重安全隐患的内存损坏错误。手动查找这些问题既困难又耗时,尽管有严格的代码实践,但难免会漏掉一些问题。对于使用诸如 C/C++ 这类不安全的语言编写的软件项目,模糊是确保其安全性和稳定性的关键环节。

项目团队表示,为了使模糊行之有效,它必须是连续的、大规模执行,并且集成到软件项目的过程中,而为了在 Chrome 上这些功能,他们编写了 ClusterFuzz,这是一个运行在 25000 多个核心上的模糊基础设施。两年前,团队开始将 ClusterFuzz 作为一项免费服务通过 OSS-Fuzz 向开源项目。如今 ClusterFuzz 已开源,任何人都可以使用。

谷歌最新开源的工具可以自动化查找并修复 bug!(图2)

ClusterFuzz 研发到现在已经过 8 年时间,其旨在无缝地融入人员工作流程,并使得查找 bug 并修复它们变得非常简单。ClusterFuzz 端到端的自动化,从 bug 检测到分类,到错误报告,最后到错误报告的自动闭合,特性包括:

高度可扩展,谷歌的内部实例运行在超过 25000 台机器上

准确的去副本化(Accurate deduplication)

问题跟踪器的全自动错误归档和关闭

最小化用例

通过二分法回归查找

分析 fuzzer 性能和崩溃率的统计信息

易于使用的 Web 界面,用于和查看崩溃

支持引导模糊(例如 libFuzzer 和 AFL)和黑盒模糊

ClusterFuzz 已经在 Chrome 中发现了超过 16000 个 bug,在与 OSS-Fuzz 集成的 160 多个开源项目中发现了超过 11000 个 bug。它是 Chrome 和许多其它开源项目过程中不可或缺的一部分。ClusterFuzz 通常能够在引入后几小时检测到问题,并在一天内验证修复。

本文相关词条概念解析:

查找

查找所属现代词,指的是彻底考查或搜寻。在计算机科学中定义为:在一些(有序的/无序的)数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找。也就是根据给定的某个值,在查找表中确定一个关键字等于给定值的记录或数据元素。

网友评论
  • 恋爱的美好
    总之,无论是诈骗人,还是受害人都贪婪之心
    2019-04-23 06:43 15