美文网首页
静态代码分析工具汇总

静态代码分析工具汇总

作者: 荒原_狼 | 来源:发表于2018-08-20 10:39 被阅读0次

静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):“静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。”。

我看了一系列的静态代码扫描或者叫静态代码分析工具后,总结对工具的看法:静态代码扫描工具,和编译器的某些功能其实是很相似的,他们也需要词法分析,语法分析,语意分析...但和编译器不一样的是他们可以自定义各种各样的复杂的规则去对代码进行分析。

以下将会列出的静态代码扫描工具,会由于实现方法,算法,分析的层次不同,功能上会差异很大。有的可以做SQL注入的检查,有的则不能(当然,由于时间问题还没有对规则进行研究,但要检查复杂的代码安全漏洞,是需要更高深分析算法的,所以有的东西应该不是设置规则库就可以检查到的,但在安全方面的检查,一定程度上也是可以通过设置规则进行检查的)。

.NET

Ç,C ++

  • Astrée -查找所有可能的运行时错误抽象解释,可以证明不存在运行时错误,并能证明功能的断言; 针对对安全至关重要的C代码(例如航空电子设备)。
  • BLAST - (伯克利懒惰抽象软件验证工具) -对C程序的基础上慵懒抽象的开源软件模型检测(后续项目CPAchecker。[5])。
  • Cppcheck -开源的工具来检查几种类型的错误,包括使用STL。
  • cpplint -一个开源的工具,它检查是否符合谷歌的风格指南对C ++编码。
  • Clang -一个开放源代码编译器,它包括一个静态分析器它包括一个静态分析器。
  • Coccinelle的 -一个开源的源代码模式匹配和改造。
  • Cppdepend -简化了管理,通过分析和可视化代码的依赖关系,通过定义设计规则,这样做影响分析,并比较不同版本的代码的复杂的C / C ++代码库。
  • ECLAIR -对于自动分析,验证,C和C ++程序的测试和转化的平台。
  • Eclipse(软件) -一种开放源码的IDE,包括静态代码分析仪(CODAN)。
  • Fluctuat - 抽象解释的程序数值属性的验证。
  • Frama-C -一个开源的静态分析框架C.
  • Goanna -软件分析工具,用于C / C ++。
  • Klocwork的静态代码分析 -静态分析工具,用于C / C ++。
  • Lint -原来的静态代码分析仪C.
  • LDRA Testbed -软件分析与测试工具套件的C / C ++。
  • Parasoft C / C ++test - C / C ++工具,它的静态分析,单元测试,代码审查,并且运行时错误检测; 可用于插件的Visual StudioEclipse的基础的集成开发环境。
  • PC-Lint -软件分析工具,用于C / C ++。
  • Polyspace -使用抽象解释检测和证明不存在的运行时间错误,在死代码的源代码以及用于检查所有MISRA(2004,2012),规则(指令,非指令)。
  • PVS-Studio -软件分析工具,用于C,C ++,C ++ 11,C ++ / CX(组件扩展)。
  • PRQA QA·C与QA·C ++ -的C / C ++质量保证和方针/编码标准执法与MISRA支持深度静态分析。
  • SLAM project -一期工程微软研究院检查它使用的接口软件满足的关键行为属性。
  • Sparse -一个开源工具,旨在发现故障的Linux内核。
  • Splint -一个开源的进化版皮棉,为C.
  • ...

Java

  • Checkstyle -除了一些静态代码分析,它可以用来显示侵犯一个配置编码标准。
  • FindBugs -一个开源的静态分析字节码的Java(基于雅加达 BCEL马里兰大学)。
  • IntelliJ IDEA -跨平台的Java IDE,具有自己的一套几百代码检查可在即时在整个项目的编辑和批量分析分析代码。
  • JArchitect -简化了分析和可视化代码的依赖关系,通过定义设计规则,这样做影响分析,并通过比较不同版本的代码管理复杂的Java代码库。
  • Jtest -测试和静态代码分析产品通过Parasoft的
  • LDRA Testbed -软件分析与测试工具套件的Java。
  • PMD -静态规则集基于Java源代码分析器,能够识别潜在问题。
  • SemmleCode -面向对象的代码查询静态程序分析。
  • Sonargraph(原SonarJ) -代码为目的的架构显示器的一致性,也计算了广泛的软件度量。
  • Soot -一个语言处理和优化框架由中间语言的Java。
  • Squale -管理软件质量的平台(也可用于其他语言,使用商业分析工具虽然)。
  • SonarQube -对代码质量的持续检查的开源平台。
  • SourceQube -一个独立于平台的命令行静态源代码分析器用于Java,C / C ++,RPG IV(AS / 400)和Python。
  • ThreadSafe -一个静态分析工具,用于Java的重点是寻找并发错误。
  • ...

JavaScript

Objective-C, Objective-C++

  • Clang -免费锵项目包括静态分析。作为版本3.2,该分析仪包括在Xcode中 。[6]

Perl

Python的[ 编辑]

  • pylint -静态代码分析。很严格的; 包括许多文体警告也是如此。
  • PyCharm -跨平台的Python IDE,具有代码检查可在即时在整个项目的编辑和批量分析分析代码。

Fortify:

http://www.fortify.com/

ASPECT:

http://www.aspectsecurity.com/

OWASP:

http://www.owasp.org/index.php/Main_Page

securitycompass:

http://www.securitycompass.com/resources.shtml

参考资料:

  1. http://www.dwheeler.com/flawfinder/
  2. http://www.java2s.com/Product/Java/Byte-Source-Code/Source-Analysis-Diagram.htm
  3. http://www.softwarelist.cn/?fsid=53&cid=530&cpath=ABAN
  4. http://www.hacker.com.cn/article/view_14804.html
  5. http://www.cs.cmu.edu/~aldrich/courses/654/tools/

注:以上链接列举了大量相关工具

原文链接:https://blog.csdn.net/dongwuming/article/details/49423909

相关文章

  • 静态代码分析工具汇总

    静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):“静态测试包括代码检查、静态结构分析、代码质量度量等。...

  • 静态代码分析工具对比

    静态代码分析工具 一、 什么是静态代码分析工具 二、 Findbugs 三、 Checkstyle 四、 Pmd ...

  • Android 静态代码分析工具

    Android 静态代码分析工具 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口...

  • 静态代码分析工具

    PVS-Studio 配置路径 扫描 解决错误

  • Python性能优化Tips

    代码性能分析工具 pylint:不执行代码,静态分析。 profile:执行代码,统计各个函数的调用次数以及耗时。...

  • iOS测试实践

    静态代码分析工具: Clang的Scan-Build工具下载地址 FaceBook的Infer工具下载地址

  • 内存分析(Analyze)

    一. 静态内存分析 所谓静态内存分析, 是指在程序没运行的时候, 通过工具对代码直接进行分析根据代码的上下文的语法...

  • OCLint 代码静态分析

    OCLint 代码静态分析 为了提高代码质量和代码走查的效率,软件开发过程中一般会使用静态代码分析工具来对程序正确...

  • C/C++怎么做好代码静态分析

    代码静态分析 代码静态分析是指在不运行代码的情况下根据代码的静态信息,对代码的各个维度进行分析。 代码静态分析一般...

  • C++小知识:尽可能使用枚举类

    静态代码分析工具可简化编码过程,检测出错误并帮助修复。PVS-Studio 是一个用于 C/C++ 的静态代码分析...

网友评论

      本文标题:静态代码分析工具汇总

      本文链接:https://www.haomeiwen.com/subject/qjekiftx.html