分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):“静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。”。
我看了一系列的静态代码扫描或者叫静态代码分析工具后,总结对工具的看法:静态代码扫描工具,和编译器的某些功能其实是很相似的,他们也需要词法分析,语法分析,语意分析...但和编译器不一样的是他们可以自定义各种各样的复杂的规则去对代码进行分析。
以下将会列出的静态代码扫描工具,会由于实现方法,算法,分析的层次不同,功能上会差异很大。有的可以做SQL注入的检查,有的则不能(当然,由于时间问题还没有对规则进行研究,但要检查复杂的代码安全漏洞,是需要更高深分析算法的,所以有的东西应该不是设置规则库就可以检查到的,但在安全方面的检查,一定程度上也是可以通过设置规则进行检查的)。
以下我在网上搜集到的分析工具,我整理了以下挑了一些出来,这里只是一部分,另外一些可以到参考链接上看一下:
工具名 | 静态扫描语言 | 开源/付费 | 厂商 | 介绍 | 主页网址 |
ounec5.0 | VB.Net、C、C++和C#, 还支持Java。 |
付 费 | Ounce Labs | \ | http://www.ouncelabs.com/ |
Coverity Prevent | C/C++,C#,JAVA | 付费 | Coverity | 还有其他辅助工具: 1.Coverity Thread Analyzer for Java 2.Coverity Software Readiness Manager for Java 3.Coverity Architecture Analyzer |
http://www.coverity.com/index.html |
@stake SmartRisk™ Analyzer |
C/C++,Java | 付费 | Symantec Corporation |
@stake SmartRisk™ Analyzer harnesses the power of static analysis of binary executables (C, C++, and Java) to identify, categorize and prioritize security。 注:在Symantec没有搜到此产品?! |
http://www.symantec.com/business/index.jsp |
Rational Purify | C/C++,Java | 付费 | IBM | Provides memory leak and memory corruption detection for Windows,Runtime?! |
http://www-01.ibm.com/software/awdtools/purify/ |
PREfix | \ | \ | microsoft | 微软用的静态分析工具,但暂时没有找到下载, 现在好像在考虑发布中! |
\ |
Jtext | Java | 付费 | parasoft | 同时还有其他静态分析代码的产品,如:C++Test... 详细请查询官网 |
http://www.parasoft.com/jsp/cn/support.jsp |