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

    文章

    93

    浏览量

    12882
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    市场上的工控机改如何选择?接口与扩展性需求分析

    在边缘计算时代,工控机的选择需紧密围绕实时性、可靠性、环境适应性三大工业核心需求,同时兼顾算力、接口与扩展性的平衡。以下是关键考量因素及选型策略: 一、算力需求分析:从场景出发分层选型 传感数据
    的头像 发表于 08-06 16:52 561次阅读
    <b class='flag-5'>市场上</b>的工控机改如何选择?接口与扩展性需求<b class='flag-5'>分析</b>

    如何在AURIX Dev Studio中使用分析器

    由于 ADS 版本 V1.10.10 中的 DAS 8.2.0 不兼容,分析器已从 ADS 中删除 我们在这里有什么选择?
    发表于 07-28 06:22

    2025年市场主流AI MCU品牌及其代表性型号进行系统盘点#2025.6

    随着工业4.0和人工智能技术的深度融合,AI MCU(人工智能微控制)市场正迎来爆发式增长。这类芯片通过集成专用AI加速或优化处理架构,显著提升了边缘端设备的
    的头像 发表于 07-02 09:46 4966次阅读

    目前市场上主流的LLC+PFC组合IC(二合一控制)汇总

    以下是目前市场上主流的LLC+PFC组合IC(二合一控制)汇总,涵盖国内外厂商的典型型号及其特点: 国际厂商方案 MPS(芯源系统) HR1200/HR1203/HR1211/HR1270
    的头像 发表于 04-08 16:31 3034次阅读

    市场上主流的端侧AI MPU 大全

    当前市场上主流的端侧AI MPU(Micro Processing Unit,微处理)品牌及型号盘点,涵盖不同应用场景(如物联网、边缘计算、嵌入式设备等)的芯片选择: ‌ 1. 国际品牌
    的头像 发表于 04-02 17:44 3316次阅读

    B型剩余电流传感的应用

    目前充电桩上用的剩余电流传感要出新国标了,国内市场上的传感啥时候能普及B型剩余电流传感啊?为了充电安全,真希望市场能重视起来,不能只贪
    发表于 03-27 10:02

    集成电路设计中静态时序分析介绍

    本文介绍了集成电路设计中静态时序分析(Static Timing Analysis,STA)的基本原理、概念和作用,并分析了其优势和局限性。   静态时序
    的头像 发表于 02-19 09:46 1310次阅读

    机器学习模型市场前景如何

    当今,随着算法的不断优化、数据量的爆炸式增长以及计算能力的飞速提升,机器学习模型的市场前景愈发广阔。下面,AI部落小编将探讨机器学习模型
    的头像 发表于 02-13 09:39 627次阅读

    VirtualLab Fusion应用:光栅级次分析器

    VirtualLab Fusion中也可用。这种全矢量方法的结果是复数瑞利系数,它包含每阶所需的所有场信息,从中可以获得相应的效率。VirtualLab Fusion中的光栅顺序分析器帮助我们生成并以图像方式
    发表于 02-11 09:47

    VirtualLab:系统建模分析器

    ,系统建模分析器。本文档介绍该工具的使用方法。 系统建模分析器 如何运行建模分析器 系统建模分析器 例1:光束清理滤波 示例 – 光
    发表于 01-14 09:45

    偏振分析器

    摘要 线栅偏振,可以使透射光产生线性偏振状态,是众多应用中常见的一种光学元件。由于它们的结构在亚波长范围内,因此必须对光的传播进行严格的处理。VirtualLab的偏振分析器及其内置的RCWA
    发表于 01-13 08:59

    VirtualLab Fusion:系统建模分析器

    ,系统建模分析器。本文档介绍该工具的使用方法 系统建模分析器 如何运行建模分析器 系统建模分析器 例1:光束清理滤波 示例 – 光束
    发表于 01-04 08:45

    如何选择云原生机器学习平台

    当今,云原生机器学习平台因其弹性扩展、高效部署、低成本运营等优势,逐渐成为企业构建和部署机器学习应用的首选。然而,市场上的云原生
    的头像 发表于 12-25 11:54 701次阅读

    zeta在机器学习中的应用 zeta的优缺点分析

    在探讨ZETA在机器学习中的应用以及ZETA的优缺点时,需要明确的是,ZETA一词在不同领域可能有不同的含义和应用。以下是根据不同领域的ZETA进行的分析: 一、ZETA在机器
    的头像 发表于 12-20 09:11 1629次阅读

    VirtualLab:系统建模分析器

    ,系统建模分析器。本文档介绍该工具的使用方法。 系统建模分析器 如何运行建模分析器 系统建模分析器 例1:光束清理滤波 示例 – 光
    发表于 12-19 12:36