本文作者:qiaoqingyi

源代码静态分析工具(静态代码检测工具)

qiaoqingyi 2023-02-27 621

今天给各位分享源代码静态分析工具的知识,其中也会对静态代码检测工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

当前市面上的代码审计工具哪个比较好?

第一类:Seay源代码审计系统

这是基于C#语言开发的一款针对PHP代码安全性审计的系统,主要运行于Windows系统上。这款软件能够发现SQL注入、代码执行、命令执行、文件包含、文件上传、绕过转义防护、拒绝服务、XSS跨站、信息泄露、任意URL跳转等漏洞,基本上覆盖常见的PHP漏洞。在功能上,它支持一键审计、代码调试、函数定位、插件扩展、自定会规则配置、代码高亮、编码调试转换、数据库执行监控等数十项强大功能。

第二类:Fortify SCA

Fortify

SCA是由惠普研发的一款商业软件产品,针对源代码进行专业的白盒安全审计。当然,它是收费的,而且这种商业软件一般都价格不菲。它有Windows、Linux、Unix以及Mac版本,通过内置的五大主要分析引擎对应用软件的源代码进行静态分析。

第三类:RIPS

RIPS是一款基于PHP开发的针对PHP代码安全审计的软件。另外,它也是一款开源软件,由国外安全研究员开发,程序只有450KB,目前能下载到的最新版本是0.54,不过这款程序已经停止更新了。它最大的亮点在于调用了PHP内置解析器接口token_get_all,并且使用Parser做了语法分析,实现了跨文件的变量及函数追踪,扫描结果中非常直观地展示了漏洞形成及变量传递过程,误报率非常低。RIPS能够发现SQL注入、XSS跨站、文件包含、代码执行、文件读取等多种漏洞,文件多种样式的代码高亮。

C和C++语言有哪些主流开发工具?

AppCode :构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C,C,C++,Java和Java开发的集成开发环境

CLion:来自JetBrains的跨平台的C/C++的集成开发环境

Code::Blocks :免费C,C++和Fortran的集成开发环境

CodeLite :另一个跨平台的免费的C/C++集成开发环境

Dev-C++:可移植的C/C++/C++11集成开发环境

Eclipse CDT:基于Eclipse平台的功能齐全的C和C++集成开发环境

Geany :轻量级的快速,跨平台的集成开发环境。

IBM VisualAge :来自IBM的家庭计算机集成开发环境。

Irony-mode:由libclang驱动的用于Emacs的C/C++微模式

KDevelop:免费开源集成开发环境

Microsoft Visual Studio :来自微软的集成开发环境

NetBeans :主要用于Java开发的的集成开发环境,也支持其他语言,尤其是PHP,C/C++和HTML5。

Qt Creator:跨平台的C++,Javascript和QML集成开发环境,也是Qt SDK的一部分。

rtags:C/C++的客户端服务器索引,用于 跟基于clang的emacs的集成

Xcode :由苹果公司开发

YouCompleteMe:一个用于Vim的根据你敲的代码快速模糊搜索并进行代码补全的引擎。

构建系统

Bear :用于为clang工具生成编译数据库的工具

Biicode:基于文件的简单依赖管理器。

CMake :跨平台的免费开源软件用于管理软件使用独立编译的方法进行构建的过程。

CPM:基于CMake和Git的C++包管理器

FASTBuild:高性能,开源的构建系统,支持高度可扩展性的编译,缓冲和网络分布。

Ninja :专注于速度的小型构建系统

Scons :使用Python scipt 配置的软件构建工具

tundra :高性能的代码构建系统,甚至对于非常大型的软件项目,也能提供最好的增量构建次数。

tup:基于文件的构建系统,用于后台监控变化的文件。

静态代码分析

提高质量,减少瑕疵的代码分析工具列表

Cppcheck :静态C/C++代码分析工具

include-what-you-use :使用clang进行代码分析的工具,可以#include在C和C++文件中。

OCLint :用于C,C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。

Clang Static Analyzer:查找C,C++和Objective-C程序bug的源代码分析工具

源代码静态分析工具(静态代码检测工具)

静态分析是指?

经济领域概念

静态分析是一种分析经济现象的均衡状态以及有关的经济变量达到均衡状态所需要条件的分析方法。[1]而不考虑经济现象达到均衡状态的过程,它完全抽象掉了时间因素和具体的变化过程,是一种静止地、孤立地考察某种经济事物的方法。

百科

静态分析

经济领域概念

静态分析是一种分析经济现象的均衡状态以及有关的经济变量达到均衡状态所需要条件的分析方法。[1]而不考虑经济现象达到均衡状态的过程,它完全抽象掉了时间因素和具体的变化过程,是一种静止地、孤立地考察某种经济事物的方法。

中文名

静态分析

外文名

static analysis

指标

总量指标、相对指标、平均指标、标志变异指标等

应用

静态计算机科学、经济学、工程、力学、机械

释义

根据既定的外生变量值求得内生变量的分析方法

内涵

静态分析法是根据既定的外生变量值求得内生变量的分析方法,是对已发生的经济活动成果,进行综合性的对比分析的一种分析方法。

如研究均衡价格时,舍掉时间、地点等因素,并假定影响均衡价格的其他因素,如消费者偏好、收入及相关商品的价格等静止不变,单纯分析该商品的供求达于均衡状态的产量和价格的决定。简单地说就是抽象了时间因素和具体变动的过程,静止地孤立地考察某些经济现象。它一般用于分析经济现象的均衡状态以及有关经济变量达到均衡状态所需要的条件。

常用的静态分析法有:相对数分析法、平均数分析法、比较分析法、结构分析法、因素替换分析法、综合计算分析法、价值系数分析法等。

指标

程序静态分析的著名的静态分析工具

Meta-Compilation(Coverity)

由Stanford大学的Dawson Engler副教授等研究开发,该静态分析工具允许用户使用一种称作metal的状态机语言编写自定义的时序规则,从而实现了静态分析工具的可扩展性。MC的实际效果非常优秀,号称在Linux内核中找出来数百个安全漏洞。MC目前已经商业化,属于Coverity Inc.2014年被Synopsys收购。目前学术领域比较认可的静态分析工具,其技术处于领先地位。

mygcc 由一个法国人N. Volanschi开发,其思想来源于MC,试图将自定义的错误检测集成到编译时。

Klocwork

国内用的最为广泛的静态分析工具,由加拿大北电于1996年研发,是中国最早的能够检测语义缺陷的静态分析工具。截止到2015年其版本号为V10,也就是大家常说的K10

LDRA Testbed

英国的编码规则类检测工具,前身为Liverpool大学开发,能够支持C/C++数千种条目的规则检测,包括MISRA C/C++, GJB5369等,是最早进入中国市场的静态分析工具,在军队、军工广泛使用,但其技术仅支持风格类检测,无法进行语义缺陷分析,导致一些常用的运行时缺陷无法发现或者较高误漏报,由此市场占有率逐步下降。截止到2015年其版本号为9.5

HP Fortify

美国HP公司的支持安全漏洞类的检测工具,能够检测C/C++/Java/PHP/ASP/JavaScript等多种语言,数千种检测项,是国内使用最为广泛的静态分析工具。但该工具整体的误报漏报率较高,虽然支持很多种安全漏洞,但需要用户做很多的二次开发工作。

Cobot(库博)

北京大学软件工程中心研发的静态分析工具,能够支持编码规则,语义缺陷的程序分析,能够支持C/C++数千条规则和缺陷的检测,是我国唯一可以称的上是静态分析产品的商业化工具。由于其自主知识产权,对国内的操作系统,编码标准支持的较好,检测精度也基本与上述工具持平,所以也得到了很多用户的认可。

Parasoft C++Test

美国Parasoft公司研发的支持C、C++静态分析的工具,该工具除了可以检测编码规则外,还能检测少量的语义缺陷,此外能够进行测试用例生成。

findbugs和pclint有什么区别

区别是:

findbug与pclint都是针对软件漏洞进行代码检测的工具软件。findbug针对的是Java代码,pclint针对的是C代码或者C++。

Findbugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,Findbugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。

Findbugs运用Apache BCEL 库分析类文件(class文件)而不是源代码,将字节码与一组缺陷模式进行对比以发现可能的问题。

pclint是GIMPEL SOFTWARE 公司研发的C/C++软件代码静态分析工具,他的全称是PC-Lint/FlexeLint for C/C++。PC-Lint 能够在Windows、MS-DOS 和OS/2 平台上使用,以二进制可执行文档的形式发布,而FlexeLint 运行于其他平台,以源代码的形式发布。pclint在全球拥有广泛的客户群,许多大型的软件研发组织都把pclint检查作为代码走查的第一道工序。pclint不但能够对程式进行全局分析,识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针连同冗余的代码,还能够有效地提出许多程序在空间利用、运行效率上的改进点。

C++静态代码检查工具?

PC Lint被称为C / c++的PC - Lint / FlexeLint。它是由GIMPEL软件开发的C / c++静态代码检测工具,由许多大型软件公司的程序员使用。

C++

我们知道,许多用户从事开发C / c++编程语言,其语法没有其他语言的灵活性,这种灵活性使促进代码的效率,但由于C / c++编译器不是强制性的类型检查,不做任何边境检查,这就增加了代码中存在的隐患的可能性。PC Lint,这个软件的重点是对代码的逻辑分析,它可以在潜在错误的代码中找到,比如数组访问跨界、内存泄漏、使用未初始化的变量等,用于检测编译器无法检测到的bug通常类型。

内容

PC线头是静态代码检测工具,可以说,PC -线头更严格的编译器,不仅可以像普通编译器检查一般的语法错误,也可以看看那些尽管语法要求完全,但是可能是潜在的,不容易找到错误。

PC的棉絮不仅可以检测单个文件,也可以从整个项目的角度检测问题,因为一个固有的C语言编译器编译,编译器环境中这些问题很难发现,线头和PC的检查当前文件同时还将检查所有相关的文档,可想而知,它将对我们有很大的帮助。

方式

PC lint几乎支持所有流行的编辑器和编译器环境,例如Borland c++从1到5。xx版本,Borland c++构建,GCC,VC,watcomC / c++,insight的来源,intelC / c++,等等,也支持16 /32/ 64平台环境。

所示。支持Scott Meyes的经典(有效的c++ /更有效的c++),各种提高效率和防止错误的方法。

关于源代码静态分析工具和静态代码检测工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

阅读
分享