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

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

3天内不再提示

市场上主流的机器学习静态分析器

h1654155282.3538 来源:企业网D1Net 作者:企业网D1Net 2020-12-27 09:50 次阅读

机器学习人工智能这两种技术在许多领域广泛应用,尤其是在营销分析和网络安全方面,它们在这些领域的成功应用促使有些人试图将它们用于所有方面。这其中包括使用机器学习系统创建用于定位安全漏洞的静态代码分析器。

其中一些应用尝试取得了一定的成功:Facebook、亚马逊和Mozilla公司现在都提供了某种形式的机器学习驱动的静态代码分析器。但是,正如了解机器学习基础的任何人都知道的那样,这些方法也存在一些固有的局限性。

机器学习静态分析器

在过去的几年里,人们看到市场上出现了大量的机器学习驱动的静态分析器。其中一些是由热心的业余爱好者开发的;另一些是由科技巨头开发的,Facebook、亚马逊和Mozilla现在都在提供这样的工具,而且在发布每一个版本时都承诺会彻底改变开发过程。

实际上,这些工具在搜索漏洞和错误时为开发人员节省了时间。以下了解一下市场上主流的一些机器学习静态分析器:

1.DeepCode

DeepCode可能是Java、JavaScript和Python最著名的漏洞搜索程序。DeepCode还提供了一个机器学习模块,开发人员称其为“开发人员的语法”。

DeepCode的机器学习模块通过查看开发人员在处理大量项目时所做的大量更改来工作。通过学习,DeepCode可以为开发人员提供针对他们正在解决的问题的建议解决方案,并捕获以前出现的错误。

DeepCode仍然包含一些限制。该系统的开发者声称,自从2018年起将支持采用C++语言,开发人员可以通过其插件使用C++和DeepCode。

2.Infer

Infer已经存在了将近十年,并于2013年被Facebook公司收购,作为基于机器学习原理的静态代码分析器的基础。由于多种原因,Infer作为静态分析器已变得非常流行:它支持多种语言,并且可以与AWS和Oculus结合使用。最重要的是,该项目的源代码于2015年开放,从而推动了项目的快速发展。

尽管它很受欢迎,即使是使用Infer的开发人员也承认,即使在Facebook项目中,它生成的警告中也只有80%是有用的。它将发现指针取消引用和内存泄漏错误,但是仍然存在Infer无法检测到的错误类别,包括类型转换异常和未验证的数据泄漏。

3.Source{d}

Source{d}是一个开源静态代码分析器和开发管理器,它不仅致力于为管理者提供有关特定软件项目进度的信息,而且还为开发人员提供了许多工具。作为静态应用程序安全测试协议的一部分,它可以执行许多有用的SAST功能,其中包括分析字节码和二进制文件以及应用程序源代码中的漏洞。

该软件的主要优点之一是其源代码是完全透明的,并且可以在GitHub存储库中使用,从而使开发人员可以从根本上构建自己的机器学习增强型代码分析器。

这就是说,Source{d}在隔离代码错误方面非常有限。它使用Babelfish服务将特定的代码实例转换为通用语法树,并从那里可以简化和建议对代码的编辑,使其更易于使用。在使用代码时,这可以为开发人员节省大量的时间,但这并不是一个完整的静态分析器。

其他的静态分析器

除了这三种解决方案之外,还有一些新兴的静态分析器有望实现。Clever-commit是Mozilla公司的一个项目,但是在细节方面仍然令人沮丧。CodeGuru是亚马逊公司的机器学习增强型静态代码分析器,但目前仅适用于Java。Embold是一个用于错误分析的启动平台,提供可视化的代码依存关系,但在可使用的语言方面也受到限制。

所有这些系统对于开发人员都非常有用,但只有在将它们与特定语言结合使用的情况下,并且仅在经过培训以实现特定结果的地方,这些功能才是有用的。换句话说,支持机器学习的静态代码分析器(一种可以在多种语言和环境中捕获错误和故障的多功能工具)的承诺尚未实现。

开发爱好者会说这只是因为机器学习驱动的静态分析器仍需要进一步开发。然而,重新考虑机器学习系统的实际工作方式表明,这些问题可能会持续存在一段时间。

结论

最后,人们要了解的是。机器学习技术仍处于起步阶段,并可能在许多开发领域中找到许多有用的应用程序。但是需要知道,机器学习技术仍然很难改变静态分析工具的构建方式。

从最根本的角度来说,这是因为静态分析与机器学习平台本质上是不同的。与用于运行人工智能和机器学习系统的模糊的概率逻辑不同,错误隔离和修复需要精确的、可重复的方法。最终人们不希望静态分析器根据其他示例指出代码可能出错,并且想确切地知道它是否能够工作。

遗憾的是,只有通过明确编码的分析器才能实现这种确定性。至少现在是这样。
责任编辑人:CC

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

    关注

    0

    文章

    90

    浏览量

    12410
  • 机器学习
    +关注

    关注

    66

    文章

    8134

    浏览量

    130580
收藏 人收藏

    评论

    相关推荐

    IU5706为什么能秒杀市场上主流搭配的升压控制器?300W33V输出少见

    IU5706是一款卓越的电源升压控制器,具备高输出电压、高功率、高效、同步整流等优点,适合高负载设备的电源需求。其高度的灵活性和优化的技术实现高效表现,使得IU5706在市场上脱颖而出。
    的头像 发表于 02-28 18:12 870次阅读
    IU5706为什么能秒杀<b class='flag-5'>市场上</b><b class='flag-5'>主流</b>搭配的升压控制器?300W33V输出少见

    市场上主流的定位技术汇总

    毫无疑问,数字化是当今社会发展最主要的主题的之一,目前已有的千行百业都可以结合数字化升级重新做一遍,这就是产业升级。
    的头像 发表于 02-22 09:53 342次阅读
    <b class='flag-5'>市场上</b><b class='flag-5'>主流</b>的定位技术汇总

    示波器和矢量网络分析器在不同测试场景下的应用

    在电子工程领域,示波器和矢量网络分析器是两种常见的测试工具。
    的头像 发表于 11-07 12:58 444次阅读

    市场上常见的测量长度的工业仪器

    在现代工业领域中,长度尺寸测量至关重要。无论是制造业、建筑业还是科学研究,准确测量长度都是保证质量和安全的基础。为满足多样化的测量需求,如今市场上测量长度的工业仪器有许多种类型,本文介绍几种常见
    发表于 11-07 09:18 0次下载

    FPC市场现状分析

    miniLED需求快速提升。miniLED方案由于在亮度均匀性及对比度方面较传统显示方案具备更好性能,并且使用寿命长、价格适中,成为目前背光市场上主流应用方案。
    发表于 11-03 14:57 424次阅读
    FPC<b class='flag-5'>市场</b>现状<b class='flag-5'>分析</b>

    4K视频编解码集成在一起同时连接多个拼接屏显示,替代目前市场上发送和接收分开布局可以吗?

    4K视频编解码集成在一起同时连接多个拼接屏显示,替代目前市场上发送和接收分开布局可以吗?我们想要做一款4k的编解码集成板卡,替代类似诺瓦他们发送接收分开的布局,他们采用的是外部用视频编码编码后
    发表于 10-18 15:03

    市场上几种常见的测量长度的工业仪器

    在现代工业领域中,长度尺寸测量至关重要。无论是制造业、建筑业还是科学研究,准确测量长度都是保证质量和安全的基础。为满足多样化的测量需求,如今市场上测量长度的工业仪器有许多种类型,本文介绍几种常见
    发表于 10-11 14:34

    Arm图形分析器1.0版入门指南

    此教程描述如何使用 Arm 图形分析器来捕捉使用马里 GPU 的 Android 设备运行的可调试应用程序的图形痕迹。 您也可以观看此教程的视频: 在您开始在主机上 : 1. 下载并安装适合您的主机
    发表于 08-24 08:04

    如何比较市场上不同品牌的安全光幕安全光栅?

    如何比较市场上不同品牌的安全光幕安全光栅?  现代工业化水平的提高,技术水平不断增加,全国制造业领域对员工的工作安全上的要求逐年增加,安全光幕安全光栅厂家随之兴起。  面对市场上各种品牌的安全
    的头像 发表于 08-23 15:00 293次阅读
    如何比较<b class='flag-5'>市场上</b>不同品牌的安全光幕安全光栅?

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?
    的头像 发表于 08-17 16:30 1410次阅读

    图形分析器用户指南

    图形分析器是一个帮助OpenGL ES和Vulkan开发人员通过API级别的分析来充分利用其应用程序的工具。 该工具允许您观察API调用参数和返回值,并与正在运行的目标应用程序交互,以调查单个API
    发表于 08-09 06:08

    什么是静态代码分析静态代码分析概述

    静态分析可帮助面临压力的开发团队。高质量的版本需要按时交付。需要满足编码和合规性标准。错误不是一种选择。 这就是开发团队使用静态分析工具/源代码分析
    的头像 发表于 07-19 12:09 935次阅读
    什么是<b class='flag-5'>静态</b>代码<b class='flag-5'>分析</b>?<b class='flag-5'>静态</b>代码<b class='flag-5'>分析</b>概述

    斯丹麦德应用案例|干簧传感技术在电混动汽车市场上的应用

    电子发烧友网站提供《斯丹麦德应用案例|干簧传感技术在电混动汽车市场上的应用.pdf》资料免费下载
    发表于 05-25 09:07 0次下载

    自顶向下的语法分析器—采用递归下降方法

    在之前已经通过手写的方式实现了一个词法分析器,现在,我将利用之前手写的词法分析器,使用递归下降的方式,实现一个简单的语法分析器
    的头像 发表于 05-23 11:24 1502次阅读
    自顶向下的语法<b class='flag-5'>分析器</b>—采用递归下降方法

    手写词法分析器

    在开始手写词法分析器之前呢,我们得先准备好一些零件,规划好将要使用哪些函数,如果函数没有现成的,那还得自己写。
    的头像 发表于 05-23 11:20 546次阅读
    手写词法<b class='flag-5'>分析器</b>