静态代码分析工具大全(收集57个)云社区

针对这二个问题,本文就来探索一下目前所有已知的最好的静态代码分析工具。如果有遗漏的,请大家补充。

静态分析工具的最大好处就是在软件开发流程的早期阶段发现致命的缺陷。

我们因该尽可能的在代码实际推送到功能QA之前就修复这些缺陷。如果拖到最后的话,要花大的代价来查找和修复这些问题。

接下来,我们就逐一的了解一下目前业内正在被使用的静态代码分析工具,然后结合您的需求,看看哪些可以对症下药帮您解决问题。

其官方网站是:

一个构建和发布工具的集合。包括"precommit"模块,用于执行完整和部分/补丁CI构建,通过其他开源工具提供代码的静态分析,作为可配置报告的一部分。内置支持C、C++、Java、Perl、Python、Ruby、Shell和XML。可以通过一个插件框架进行扩展。

一个针对Ada、C、C、C++、C#和Java代码的静态代码分析工具套件,可执行各种分析,如架构检查、接口分析、MISRA检查和克隆检测等。

一个轻量级的IDE插件,可以在开发人员编写代码时实时指出常见的安全漏洞。支持Java、.NET和PHP。

4.CodeDx

软件应用漏洞关联与管理系统,整合多种静态应用安全测试(SAST)和动态应用安全测试(DAST)工具检测到的软件漏洞,以及手动代码审查的结果,并将其归纳整理和规范化。支持C、C++、C#、Java、JavaScript、JSP、PHP、Python、Rails、Ruby、Scala、VB.NET和XML/XSL。

一个适用于Java、C、C、C++和Objective-C的工具。针对空指针问题、泄漏、并发问题和Facebook移动应用的API使用问题。在github上以开放源代码的形式提供。

扫描源代码和二进制文件以识别开放源码和许可证,管理开放源码政策和审批,报告安全漏洞,并提供开放源码技术支持。

基于静态代码分析的自动代码审查工具,适用于Ruby、Python、PHP、JavaScript、CoffeeScript和Go。可以检查风格、质量、依赖性、安全性和bug。

用于Ada和Java的逻辑错误、竞赛条件和冗余代码的静态检测;自动从代码中提取前置条件。

是一个基于插件的框架,可以扫描任意文件类型,有C、C++、Java、Java、JavaScript、ASP、PHP、HTML-CSS、ColdFusion、COBOL等文件类型的插件。它集成了其他扫描器,包括FindBugs、PMD和Pixy。

如下是其官方网站对其产品的介绍:

”。

官方网站为:

RIPS是唯一能执行特定语言安全分析的代码分析解决方案。它能检测出最复杂的安全漏洞,这些漏洞往往深藏在源代码中,其他工具无法发现。

RIPS以其高精确度和无假阳性噪声,是分析Java和PHP应用程序的理想选择。

PVS-Studio是一个用于检测程序源代码中的BUG和安全漏洞的工具,它是用C、C++、C#和Java编写的。它可以在Windows、Linux和macOS环境中工作。

它可以集成到VisualStudio、IntelliJIDEA和其他广泛使用的IDE中。分析的结果可以导入到SonarQube中。

Kiuwan是目前市场上技术覆盖和集成度最高的SAST和SCA平台。

它能自动优先处理代码中的热点,并提供清晰的可视化功能。凭借其多矢量诊断技术,它可以从多个角度来分析,包括软件设计等多个方面进行分析,使企业能够透明地管理和提高软件质量。

Reshift是一个基于SaaS的软件平台,可以帮助软件开发团队在部署到生产之前,更快地在自己的代码中发现更多的漏洞。

CodeScene还超越了传统的工具,通过测量公司和人员的侧重点来检测软件架构中的协调瓶颈、离岗风险和知识差距。

最后,CodeScene集成到您的CI/CD管道中,作为一个额外的监管员来预测交付风险,并提供上下文感知的质量门来监督您的代码的健康状况。

VisualExpert是一款针对SQLServer、Oracle和PowerBuilder代码的独特静态代码分析工具。

VisualExpert工具箱提供了200多个功能,在进行修改时可以减少维护和避免衰退。

l代码审查

lCRUD矩阵

lE/R图与代码视图同步。

l代码性能分析

l代码探索

l影响分析

l源代码文档

l代码比较

Veracode是一款基于SaaS模式构建的静态分析工具。该工具主要从安全的角度分析代码。

该工具使用二进制代码/字节码,因此可以确保100%的测试覆盖率。如果你想编写安全代码,这个工具被证明是一个不错的选择。

Fortify是惠普公司的一款工具,它的目的是让开发人员创建无错误的安全代码。

在扫描代码的同时,它会对发现的问题进行排序,从而可以确保首先修复最关键的问题。

Parasoft是静态分析测试的最佳工具之一。与其他静态分析工具相比,Parasoft的静态分析工具略有不同,因为它能够支持各种类型的静态分析技术,如基于模式的、基于流程的、第三方分析、度量和多变量分析。

该工具的另一个好处是除了识别缺陷之外,它还提供一个防止出现缺陷的功能。

CoverityScan是一个基于云计算的开源工具。它适用于使用C、C++、Java、C#或JavaScript编写的项目。这个工具提供了一个非常详细而清晰的问题描述,有助于更快的解决问题。

如果你正在寻找一个开源工具,这是个不错的选择。

一个可以用来分析50多种语言的自动化工具,无论项目规模大小,它都能出色地工作。此外,它还为用户提供了一个仪表板,有助于衡量质量和生产力。

总的来说,它是一个很好的检测安全漏洞的工具,它的深度静态分析能力使它从众多的静态分析工具中脱颖而出。

正如它的名字一样,这个工具可以让用户通过分析、测量、可视化和维护来理解代码。这使得用户可以快速分析大量的代码。这是一个主要用于航空航天和汽车行业的工具。支持C/C++、ADA、COBOL、FORTRAN、PASCAL、Python等主流语言和其他网络语言。

CodeCompare-是一个文件和文件夹比较和合并工具。超过70,000名用户在解决合并冲突和部署源代码修改时使用CodeCompare。

CodeCompare是一个免费的比较工具,用于比较和合并不同的文件和文件夹。CodeCompare集成了所有流行的源码控制系统:TFS,SVN,Git,Mercurial,和Perforce。CodeCompare可以作为一个独立的文件比较工具和VisualStudio的扩展使用。

主要功能:

l文本比较和合并

l语义源码比较

l文件夹比较

lVisualStudio集成

l版本控制集成和其他

这是一个开源工具,可以用来分析C,C++代码。它使用clang库,是一个可重用的组件,可以被多个客户端使用。

与其他静态分析工具相比,是一款非常容易使用的工具。顾名思义,这个工具是用来分析C/C++代码的。它支持不同的代码质量指标,提供了监控趋势的功能,有一个与VisualStudio集成的插件,允许编写自定义查询,并带有非常好的诊断功能。

除了查找语义和语法错误,这个工具还可以让用户检测代码中的漏洞。这个工具很好地集成了许多常用的IDE,如Eclipse、VisualStudio和IntellijIDEA。该工具可以与代码创建并行运行,它可以逐行检查,并提供了实时处理缺陷的功能。

一个免费的C/C++静态分析工具。这个工具的好处在于它与其他几个开发工具的集成,如Eclipse、Jenkins、CLion、VisualStudio等。

HelixQAC是Perforce(原PRQA)推出的一款优秀的C和C++代码静态分析测试工具。该工具自带一个安装程序,支持Windows7、LinexRhel5和Solaris10等平台。它提供了非常清晰的诊断程序,有助于识别根本原因和快速修复缺陷。

一个用于C/C++的安全静态分析工具,允许与MicrosoftVisualStudio、Eclipse、TexasInstrumentsCodeComposer和更多的IDE集成。此外,它还具有出色的错误报告功能。

Polyspacebug-finder可以帮助查找C/C++的缺陷;

它与Eclipse集成,同时符合MISRAC、MISRAC++和JSF++等编码规则标准。

一个帮助分析C/C++、Java、C#、RPG和Python代码的工具。这个工具的另一个好处是它允许与免费的静态检查工具如cppcheck、PMD、FindBugs集成。

这个工具的基本版是免费的,但它的功能较少。根据需要,你可以根据自己的需求来判断免费版是否满足要求。

一个优秀的工具,可以用于克隆检测,支持多种语言,允许与其他静态分析工具集成,提供一个仪表板,显示发现问题的详细信息和其他质量指标。

该工具可以让分析Java代码变得简单易行,支持通过LINQ进行代码查询,提供了大量的代码指标,允许在不同的构建之间进行代码比较,并且具有很好的自定义报告功能。

是一个独立的工具,用于分析C/C++和Objective-C程序,支持Linux和MacOX平台。它可以完成静态分析工具所要做的一切工作,如查找bug、未使用的代码、冗余代码等,除此之外,它还带有一个可定制的配置,可以帮助用户根据自己的需求进行定制。

该工具主要用于安全专家进行手动代码审查,在本地系统上的效果最好,但也可以扫描远程网站。

有一个广泛的配置文件,可以配置不同的报告选项。创建备用的配置文件有助于同时执行多个项目。

用于.NET和Java/J2EE代码的静态分析工具

一个可以让安全专家从安全的角度来进行代码审查的工具。它还提供了一套可与安全工具集成的API,以提供代码审查服务。

用于测试C/C++源代码。PCLint可以在windows操作系统上工作,而FlexeLint是专为非windows操作系统设计的,可以在包括UNIX在内的支持C语言编译器的系统上运行。

IBMRational为用户提供了不同类型的工具,其中一个工具是软件分析器,它可以用来对代码进行静态分析。这个工具是在一个可扩展的框架上设计的,并与其他Rational产品很好地集成。

这个静态分析工具是一个非常灵活和易于配置的工具,几乎支持所有平台,如Windows、UNIX、Linus、MacOSX。

它是一个基于网络的开源工具,可以覆盖20多种语言,还允许使用多种插件。

如果你正在寻找一个工具来确保开发的代码符合CERT的编码规则,你可以选择Rosecheckers。

它在SourceForge中免费提供。

这个工具可以检查C/C++代码,有时会发现其他静态分析工具无法发现的问题,但不能算是一个完全成熟的独立工具,因为它无法完全测试,目前只是一个原型。

一个开源工具,针对C语言的分析,自带一个非常灵活的框架。

开源的安全分析工具,用于Java和C语言代码。

PMD是一个开源的代码分析工具,适用于C/C++、Java、JavaScript。这是一个简单的工具,可以用来查找常见的缺陷。它还可以检测java中的重复代码。

免费工具,用于查找Java代码中的BUG。它支持任何版本的Java,但需要JRE(或JDK)1.7.0或更高的版本才能运行。

用于在SDLC阶段的早期识别漏洞。同时支持移动扫描。

这是一个开源工具,主要用于查找C/C++程序中的安全漏洞。它可以下载、安装并在UNIX等系统上运行。

一个开源的C语言程序静态和安全分析工具。它的功能非常基本,经过额外的配置,也可以像其他标准工具一样执行。

HeaderFreeCyclomaticComplexityAnalyser是一个执行分析的工具,它不关心C/C++头和Java导入。使用简单,不需要安装。可用于C/C++、Java和ObjectiveC。

该工具用Perl编写,用户可以区分空行、注释行和物理行,并支持多种语言。总的来说,这是一个易用的工具,具有良好的功能,如提供多种格式的输出,可以在多个系统上运行,并附带一个简单的安装包。

一个开放源码工具,让用户在多语言和多平台上计算物理源码行数。

这是一个支持JavaScript静态分析的免费工具。

DeepScan是一个高级静态分析工具,支持JavaScript、TypeScript、React和Vue.js。

你可以使用DeepScan来查找可能的运行时错误和质量问题,而不是编码惯例。可与你的GitHub仓库集成,以获得对Web项目的质量洞察。

本文列出了目前业内经常使用的静态代码分析工具,希望对感兴趣的朋友有所裨益。

欢迎讨论。

华为开发者空间发布

让每位开发者拥有一台云主机

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

THE END
1.SAST及静态代码分析的工作原理BlackDuck静态应用安全测试 (SAST) 也称静态分析,是一种测试方法,通过分析源代码发现容易让组织的应用受到攻击的安全漏洞。SAST 在编译代码之前扫描应用。它也称为白盒测试。 SAST 解决哪些问题? SAST 在软件开发生命周期 (SDLC) 的早期阶段进行,因为测试时不需要应用运行,并且可以在不执行代码的情况下进行测试。它能帮助开发https://www.synopsys.com/zh-cn/glossary/what-is-sast.html
2.探讨代码质量管理体系建设:从静态分析到持续审查的全流程方案一、静态分析在代码质量管理中的重要性 静态分析是指在代码运行之前对代码进行的一种分析,通过检查代码本身的结构和语法,以发现潜在的问题和错误。静态分析可以帮助我们在代码实际运行https://www.jianshu.com/p/8f19accd1798
3.开源项目SDF常见问题解决方案运行示例代码以确认安装成功。 python examples/example.py 2. OpenVDB 安装问题 问题描述: 项目依赖于 OpenVDB 库,但 OpenVDB 的安装过程可能比较复杂,尤其是对于不熟悉 C++ 编译的用户。 解决步骤: 克隆OpenVDB 仓库: 从GitHub 克隆 OpenVDB 的源代码。 https://blog.csdn.net/gitblog_00673/article/details/144390928
4.虚拟现实开发语言与全面执行计划数据,静态版探索之旅摘要:,,本文探讨了虚拟现实开发语言与全面执行计划数据的关系,并介绍了静态版探索之旅。文章指出,虚拟现实开发语言是实现虚拟现实应用的关键,而全面执行计划数据则为开发过程提供了重要支持。通过静态版探索之旅,可以更好地理解虚拟现实技术的潜力和应用场景。文章强调了虚拟现实技术在当代社会的重要性,并展望了其未来的http://good.hnspacenet.com/post/53295.html
5.modifytextfieldlog·PullRequest!50344·OpenHarmony/此Pull Request 需要通过一些审核项 类型 指派人员 状态 审查 已完成 (1/1) 已完成 (3/3) 测试 已完成 (1/1) +12 -2 frameworks/core/components_ng/pattern/text_field/text_field_event_hub.h 100644 -> 100644 365 371 { 366 372 if (onWillDeleteEvent_https://gitee.com/openharmony/arkui_ace_engine/pulls/50344/files
6.如何利用AIGC完成项目的数据流分析AIGC是一种利用人工智能技术生成内容的技术,包括图像、文本、代码等。通过深度学习模型,AIGC能够自动进行内容生成与优化,提高工作效率和创造力。在数据流分析中,AIGC可以用于自动检测数据流中的异常、预测数据趋势和生成优化方案。 4. 利用AIGC进行数据流分析的方法 https://blog.51cto.com/u_16123429/12789031
7.PolySpace能够发现RunTimeError的静态分析工具PolySpace是一款静态分析测试工具,它能对被测代码进行静态扫描,查找出可能存在Run-Time Error的代码段。我觉得这个功能可以说是创新性的。传统的静态分析工具,比如Logiscope,只能帮助使用人员分析程序的流程结构,统计程序的复杂性,或者是审查代码的编码规范性;而传统的Run-Time Error工具,比如著名的BoundChecker,以及Purifyhttp://www.cnitblog.com/qiuyangzh/archive/2006/01/18/6241.html
8.PolyspacePolyspace 产品系列 Polyspace 产品通过在整个开发生命周期中测试和监控软件质量来保证关键代码的安全。 Polyspace Access 识别编码缺陷,查看静态分析结果,并监控软件质量指标。 Polyspace Code Prover Server 持续并详尽地验证 CI 管道中的关键 C 和 C++ 代码语句。 https://cn.mathworks.com/products/polyspace.html
9.静态代码分析静态代码分析也称静态分析,作为一种软件验证活动,它不要求执行代码,而是通过分析源代码实现质量、可靠性和安全性目的。使用静态分析,您可以识别可能危害您应用安全的缺陷和安全漏洞。静态分析不产生测试用例编写和代码检测配置的开销,因此可以较为经济地衡量和跟踪软件质量指标。 https://ww2.mathworks.cn/discovery/static-code-analysis.html
10.Polyspace静态程序代码分析高效遵循多重规范单是这项改变就为我们整体工作流程带来重大改善,因为它建立了一个闸门机制,确保开发人员只有在他们的程序代码完整通过合适的软件质量目标,并且解决或证明在静态分析找到的任何问题时,才能够成功完成收取要求。 在软件整合及测试期间,Polyspace产品被使用来执行以整合程序代码的软件质量目标为基础的静态分析。在此阶段, https://www.eepw.com.cn/article/202309/450902.htm
11.汽车软件单元测试集成测试系统测试的区别详解静态测试 静态代码测试是一种分析源代码的过程,用于查找潜在的编码错误、代码缺陷和安全漏洞。静态代码测试并不直接运行程序,而是检查代码的结构、语法、命名规范、代码复杂度等方面的问题。静态代码检测可以在软件开发早去提供安全问题反馈,帮助开发人员在编译和运行代码之前发现潜在的问题。 https://www.eet-china.com/mp/a343242.html
12.最新MATLABR2018a/Simulink软件破解版补丁工具爱在灵灵久博客·覆盖率组合功能,可以用来组合多次测试运行(文件的)的覆盖率结果 oPolyspace Code Prover ·用于AUTOSAR软件组件静态分析的AUTOSAR支持 二、软件下载: 登陆官网https://cn.mathworks.com拉至页面底部,用邮箱申请试用软件。 、三、安装教程: 图文教程:https://pan.baidu.com/s/1h0NbgcLV-iVEoLTrprIrSg密码: ctyhttp://blog.az009.com/13951.html
13.代码审计工具汇总linux应用程序windows学会利用自动化代码审计工具、是每一个代码审计人员必备的能力。Fortify SCA Java、JSP、ASP.NET、C#、VB.NET、C、C++、COBOL、ColdFusion https://www.fortify.com Windows、Mac OS X 、 Linux 是一个静态的、白盒的软件源代码安全测试工具Checkmarx CxSuite JAVA、ASP.NET(C#、VB.NET)、JavaScript、Jscript、Chttps://www.163.com/dy/article/G8U4M7BF05319Y7J.html