- 6
- 0
- 约 8页
- 2016-04-08 发布于安徽
- 举报
JAVA静态测试工具介绍.doc
Java静态检测工具的简单介绍 静态检查:静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性, 代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。”。看了一系列的静态代码扫描或者叫静态代码分析工具后,总结对工具的看法:静态代码扫描工具,和编译器的某些功能其实是很相似的,他们也需要词法分析,语法分析,语意分析...但和编译器不一样的是他们可以自定义各种各样的复杂的规则去对代码进行分析。
静态检测工具:
PMD
1.PMD是一个代码检查工具,它用于分析 Java 源代码,找出潜在的 问题:
1)潜在的bug:空的try/catch/finally/switch语句
2)未使用的代码:未使用的局部变量、参数、私有方法等
3)可选的代码:String/StringBuffer的滥用
4)复杂的表达式:不必须的if语句、可以使用while循环完成的for循环
5)重复的代码:拷贝/粘贴代码意味着拷贝/粘贴bugs
2.PMD特点:
1)与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误。
2)PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题
3)用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。
3.同时,PMD已经与JDeveloper、Eclipse、jEdit、JBuilder、BlueJ、CodeGuide、NetBeans、Sun JavaStudio Enterprise/Creator、IntelliJ IDEA、TextPad、Maven、Ant、Gel、JCreator以及Emacs集成在一起。
4.PMD规则是可以定制的: 可用的规则并不仅限于内置规则。您可以添加新规则:可以通过编写 Java 代码并重新编译 PDM,或者更简单些,编写 XPath 表达式,它会针对每个 Java 类的抽象语法树进行处理。
5.只使用PDM内置规则,PMD 也可以找到你代码中的一些真正问题。某些问题可能很小,但有些问题则可能很大。PMD 不可能找到每个 bug,你仍然需要做单元测试和接受测试,在查找已知 bug 时,即使是 PMD 也无法替代一个好的调试器。但是,PMD 确实可以帮助你发现未知的问题。
FindBugs
1.FindBugs是一个开源的静态代码分析工具,基于LGPL开源协议,无需运行就能对代码进行分析的工具。不注重style及format,注重检测真正的bug及潜在的性能问题 ,尤其注意了尽可能抑制误检测(false positives)的发生。以bytecode(*.class、*.jar)为对象进行检查。除了单独动作,还可以用作Eclipse 的plug-in,以及嵌入Ant作为task之一 进行利用。
2.findbugs自带检测器的介绍: findbugs自带60余种Bad practice,80余种Correntness,1种Internationalization,12种Malicious codevulnerability,27种Multithreaded correntness,23种Performance,43种Dodgy。
3.Findbugs的一些特点:
1)FindBugs主要着眼于寻找代码中的缺陷,这就与其他类似工具有些区别了,直接操作类文件(class文件)而不是源代码。
2)FindBugs可以通过命令行、各种构建工具(如Ant、Maven等)、独立的Swing GUI或是以Eclipse和NetBeans IDE插件的方式来运行。
3)FindBugs输出结果既可以是XML的,也可以是文本形式的。
4)开发者可以通过多种方式来使用FindBugs,最常见的是在新编写模块的代码分析以及对现有代码进行更大范围的分析。
5)不注重style及format,注重检测真正的bug及潜在的性能问题,尤其注意了尽可能抑制误检测(false positives)的发生。
4.FindBugs可检测的bug pattern举例:
检测java programing中容易陷入的bug pattern,equals() 实现时的一般规约违反Null pointer的参照 ,Method的返回值的check遗漏 ,初始化前fie
您可能关注的文档
- A27090009_杨琳_张阳_田列敏(延迟退休问题).doc
- BB《南方周末》的批评性报道看舆论监督.doc
- ch3多级放大电路直接耦合3.ppt
- chapter 10 Genomics.ppt
- Chapter 3 genome and gene.ppt
- Epigenetic Transgenerational Actions of Endocrine Disruptors and Male Fertility.ppt
- Epigenetics History.ppt
- Flash AS3.0卷积滤镜应用.doc
- How to prepare a spotplan.ppt
- hua01-Introducation2011.ppt
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 广东省广州市花都区中考化学一模试卷 (2).doc VIP
- 隋玉杰-个案工作 第七章-个案工作的主要理论派别(下).pptx VIP
- 2025年江西省从“五方面人员”中选拔乡镇领导班子成员考试历年参考题库含答案详解.docx VIP
- 隋玉杰-个案工作 第八章-儿童辅导.pptx VIP
- 亲子关系量表-pianta编制-张晓,陈会昌修订.docx VIP
- 新《增值税法实施条例》逐条解读课件PPT.pptx
- 2025年湖南交通职业技术学院单招语文考试模拟试题及答案解析.docx VIP
- 2025至2030中国半导体控制整流器行业市场占有率及投资前景评估规划报告.docx VIP
- 药物应用护理第一第二节.ppt VIP
- GB50021-2024岩土工程勘察规范(附条文说明).pptx VIP
原创力文档

文档评论(0)