静态分析、测试工具
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
静态代码分析、测试工具汇总
静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):“静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,
也可以借助软件工具自动进行。代码检查代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,
代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和
模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名
和类型审查、程序逻辑审查、程序语法检查和程序结构检查等容。”。
我看了一系列的静态代码扫描或者叫静态代码分析工具后,总结对工具的看法:静态代码
扫描工具,和编译器的某些功能其实是很相似的,他们也需要词法分析,语法分析,语意
分析...但和编译器不一样的是他们可以自定义各种各样的复杂的规则去对代码进行分析。
以下将会列出的静态代码扫描工具,会由于实现方法,算法,分析的层次不同,功能上会
差异很大。有的可以做SQL注入的检查,有的则不能(当然,由于时间问题还没有对规则进行研究,但要检查复杂的代码安全漏洞,是需要更高深分析算法的,所以有的东西应该不
是设置规则库就可以检查到的,但在安全方面的检查,一定程度上也是可以通过设置规则
进行检查的)。
......
以下是直接提供代码检查/相关帮助的厂商:Fortify:
.fortify./
ASPECT:
.aspectsecurity./
OWASP:
/index.php/Main_Page
securitycompass:
.securitycompass./resources.shtml
参考资料:
1. .dwheeler./flawfinder/
2. .java2s./Product/Java/Byte-Source-Code/Source-Analysis-Diagram.htm
3. /?fsid=53&cid=530&cpath=ABAN
4. /article/view_14804.html
5. /~aldrich/courses/654/tools/