- 2
- 0
- 约1.11万字
- 约 8页
- 2017-03-05 发布于贵州
- 举报
JAVA静态测工具介绍
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遗漏 ,初始化前field的访问,Mult
您可能关注的文档
- HY-UEP应平台开发手册-流程系统分册.docx
- HY-UEP应平台操作手册-权限管理分册.docx
- H实物档案分类理编目方法讲义(V2.0-2009年3月修订版).doc
- H系列网络摄像使用手册.doc
- I06 公司理(MBA全景教程之六.doc
- IBM Stowize V7000 结构概述及raid分析.docx
- IBM对大客户管理资料总结-王家荣.doc
- IC(电源、放器、电压转换器的资料)--B.doc
- IB升IA调研告080506.docx
- ICA国际汉语师协会:中产阶级的撕扯人生.docx
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- 介绍楚门的世界.pptx VIP
- 2025年拍卖师市场饱和度与竞争红海中的差异化突围策略分析专题试卷及解析.pdf VIP
- 2025年互联网营销师商业谈判与供应链管理能力专题试卷及解析.pdf VIP
- 2025年化工工程师多搅拌器串联与并联系统操作优化专题试卷及解析.pdf VIP
- 2025年拍卖师农产品拍卖拍卖师竞买人购买反馈专题试卷及解析.pdf VIP
- 2025年AWS认证AmazonRDS只读副本的只读副本的只读副本在主实例故障后的角色切换专题试卷及解析.pdf VIP
- 法律职业资格(主观题)真题答案解析2025.docx VIP
- 12J926-无障碍设计标准图集.pdf VIP
- 导弹的总体设计(西工大课件).pdf VIP
- 2025年演出经纪人演出经营许可证申领与年检专题试卷及解析.pdf VIP
原创力文档

文档评论(0)