下载此文档

4种代码扫描工具分析模板.docx


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
介绍
本文首先介绍了静态代码分析基础概念及关键技术, 随即分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle, FindBugs, PMD, Jtest), 最终从功效、 特征等方面对它们进行分析和比较, 期望能够帮助 Java 软件开发人员了解静态代码分析工具, 并选择适宜工具应用到软件开发中。
引言
在 Java 软件开发过程中, 开发团体往往要花费大量时间和精力发觉并修改代码缺点。 Java 静态代码分析(static code analysis)工具能够在代码构建过程中帮助开发人员快速、 有效定位代码缺点并立即纠正这些问题, 从而极大地提升软件可靠性并节省软件开发和测试成 本。 现在市场上 Java 静态代码分析工具种类繁多且各有千秋, 所以本文将分别介绍现有 4 种主流 Java 静态代码分析工具 (Checkstyle, FindBugs, PMD, Jtest), 并从功效、 特征等方面对它们进行分析和比较, 期望能够帮助 Java 软件开发人员了解静态代码分析工具, 并选择适宜工具应用到软件开发中。
静态代码分析工具介绍
什么是静态代码分析
静态代码分析是指无需运行被测代码, 仅经过分析或检验源程序语法、 结构、 过程、 接口等来检验程序正确性, 找出代码隐藏错误和缺点, 如参数不匹配, 有歧义嵌套语句, 错误递归, 非法计算, 可能出现空指针引用等等。
在软件开发过程中, 静态代码分析往往先于动态测试之前进行, 同时也能够作为制订动态测试用例参考。 统计证实, 在整个软件开发生命周期中, 30% 至 70% 代码逻辑设计和编码缺点是能够经过静态代码分析来发觉和修复。
不过, 因为静态代码分析往往要求大量时间消耗和相关知识积累, 所以对于软件开发团体来说, 使用静态代码分析工具自动化实施代码检验和分析, 能够极大地提升软件可靠性并节省软件开发和测试成本。
静态代码分析工具优势
1. 帮助程序开发人员自动实施静态代码分析, 快速定位代码隐藏错误和缺点。
2. 帮助代码设计人员更专注于分析和处理代码设计缺点。
3. 显著降低在代码逐行检验上花费时间, 提升软件可靠性并节省软件开发和测试成本。
Java 静态代码分析理论基础和关键技术
缺点模式匹配: 缺点模式匹配事先从代码分析经验中搜集足够多共性缺点模式, 将待分析代码和已经有共性缺点模式进行模式匹配, 从而完成软件安全分析。 这种方法优点是简单方便, 不过要求内置足够多缺点模式, 且轻易产生误报。
类型推断: 类型推断技术是指经过对代码中运算对象类型进行推理, 从而确保代码中每条语句全部针对正确类型实施。 这种技术首先将预定义一套类型机制, 包含类 型等价、 类型包含等推理规则, 以后基于这一规则进行推理计算。 类型推断能够检验代码中类型错误, 简单, 高效, 适合代码缺点快速检测。
模型检验: 模型检验建立于有限状态自动机概念基础之上, 这一理论将被分析代码抽象为一个自动机系统, 而且假设该系统是有限状态、 或是能够经过抽象归 结为有限状态。 模型检验过程中, 首先将被分析代码中每条语句产生影响抽象为一个有限状态自动机一个状态, 以后经过分析有限状态机从而达成代码分析 目标。 模型检验关键适合检验程序并发等时序特征, 不过对于数据值域数据类型等方面作用较弱。
数据流分析: 数据流分析也是一个软件验证技术, 这种技术经过搜集代码中引用到变量信息, 从而分析变量在程序中赋值、 引用和传输等情况。 对数据流进行 分析能够确定变量定义和在代码中被引用情况, 同时还能够检验代码数据流异常, 如引用在前赋值在后、 只赋值无引用等。 数据流分析关键适合检验程序中 数据域特征。
现有主流 Java 静态分析工具
Checkstyle
Checkstyle 是 SourceForge 开源项目, 经过检验对代码编码格式, 命名约定, Javadoc, 类设计等方面进行代码规范和风格检验, 从而有效约束开发人员愈加好地遵照代码编写规范。
Checkstyle 提供了支持大多数常见 IDE 插件, 文本关键使用 Eclipse 中 Checkstyle 插件。 以下图 1 所表示, Checkstyle 对代码进行编码风格检验, 并将检验结果显示在 Problems 视图中。 图中, 代码编辑器中每个放大镜图标表示一个 Checkstyle 找到代码缺点。 开发人员可经过在 Problems 视图中查看错误或警告具体信息。
图 1. 使用 Checkstyle 进行编码风格检验
另外, Checkstyle 支持用户依据需求自定义代码检验规范, 在下图 2

4种代码扫描工具分析模板 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人读书百遍
  • 文件大小807 KB
  • 时间2021-01-08
最近更新