没有合适的资源?快使用搜索试试~ 我知道了~
首页源代码缺陷分析工具Klocwork白皮书K2019.v1.pdf
源代码缺陷分析工具Klocwork白皮书K2019.v1.pdf
1星 需积分: 0 58 下载量 142 浏览量
更新于2023-05-15
评论
收藏 2.4MB PDF 举报
Klocwork 软件是 Rogue Wave 公司基于专利分析引擎技术开发的一款软件源代码缺陷和安全漏洞分 析工具。 Klocwork 综合应用了多种程序分析领域最先进的技术,是最为出色的以静态算法分析运行时缺 陷的软件。 Klocwork 产品具有很多突出的特征: Klocwork 支持多种常用的开发语言,能够分析 C、 C++、 C#和 Java 代码;能够发现的软件缺陷种类全面,既包括软件质量缺陷检测,安全漏洞检测,可维护性方 面的检测,还支持行业编码规范检查; 对软件质量进行评估,自动生成各种质量方面的统计报表; 能够 从不同纬度对软件进行各种度量;能够提供与多种主流开发 IDE 环境的集成;能够分析超大型软件(上 千万代码行)。
资源详情
资源评论
资源推荐
源代码缺陷分析工具
Klocwork
目录
1. Klocwork 简介 ..................................................................................................................... 1
1.1. Klocwork 功能简介 .................................................................................................... 1
1.1.1. 软件缺陷与安全漏洞检测 ............................................................................... 1
1.1.2. 行业规范缺陷检测 ........................................................................................... 4
1.1.3. 自定义检查器 ................................................................................................... 5
1.1.4. 软件度量分析 ................................................................................................... 6
1.1.5. 软件质量趋势分析 ........................................................................................... 8
1.1.6. IDE 集成插件 ................................................................................................. 10
1.1.7. IDE 代码重构 ................................................................................................. 10
1.1.8. CI 增量分析 .................................................................................................... 11
1.2. Klocwork 认证.......................................................................................................... 11
1.3. Klocwork 支持的操作系统 ...................................................................................... 11
1.4. Klocwor 分析工具的架构 ........................................................................................ 11
2. Klocwork 静态分析工具与软件开发进行过程集成 ....................................................... 13
2.1. 软件静态分析技术是降低缺陷管理成本的首选 ..................................................... 13
2.2. Klocwork 软件静态分析原理 .................................................................................. 14
2.2.1. 工作原理 ......................................................................................................... 17
2.3. 在敏捷开发过程中使用 Klocwork .......................................................................... 20
2.4. 在持续集成中使用 Klocwork .................................................................................. 20
2.5. 使用 Klocwork 的团队角色 ..................................................................................... 22
2.5.1. 软件开发人员-在桌面阶段消除软件缺陷和安全漏洞 ............................. 22
2.5.2. 集成人员-在集成环节把握质量关 ............................................................. 23
2.5.3. 软件开发经理-在提交到测试之前获取您软件质量的可视化和控制 ..... 23
2.5.4. 安全经理或审查人员-在被利用之前,防止安全漏洞发生 ..................... 24
3. 部署 ........................................................................................................................................ 25
1
1 Klocwork 简介
Klocwork 软件是 Rogue Wave 公司基于专利分析引擎技术开发的一款软件源代码缺陷和安全漏洞分
析工具。Klocwork 综合应用了多种程序分析领域最先进的技术,是最为出色的以静态算法分析运行时缺
陷的软件。Klocwork 产品具有很多突出的特征:Klocwork 支持多种常用的开发语言,能够分析 C、C++、
C#和 Java 代码;能够发现的软件缺陷种类全面,既包括软件质量缺陷检测,安全漏洞检测,可维护性方
面的检测,还支持行业编码规范检查;对软件质量进行评估,自动生成各种质量方面的统计报表;能够
从不同纬度对软件进行各种度量;能够提供与多种主流开发 IDE 环境的集成;能够分析超大型软件(上
千万代码行)。
1.1 Klocwork 功能简介
Klocwork 功能包括:
◼ 软件缺陷与安全漏洞检测
◼ 行业规范缺陷检测
◼ 自定义检查器
◼ 软件度量分析
◼ 软件质量趋势分析
◼ IDE 集成插件
◼ IDE 代码重构
◼ CI 增量分析
1.1.1 软件缺陷与安全漏洞检测
Klocwork 能够分析进行多角度的软件缺陷和安全漏洞的分析,能够分析 C/C++、Java、C#代码,生
成代码问题报告,缺陷类型根据编程语言的不同而不同,其中针对 C/C++语言提供 280 多种检查器,对
Java 语言提供近 200 种检查器,对 C#语言提供近 40 种检查器。
C/C++代码缺陷类型:
空指针解引用--各种执行条件下(包括极端路径、参数传递、函数返回等复杂状况下)发生的对
空指针求值、取其成员、调用其方法的严重缺陷;
内存泄漏--各种执行条件下(包括极端路径)发生的内存区域分配后丢失的缺陷
使用已释放的内存 --各种执行条件下(包括极端路径)发生的内存被释放后仍然被使用的缺陷
错误的内存释放--各种执行条件下(包括极端路径)发生的释放非堆内存、分配和释放不匹配的
缺陷;
缓冲区溢出 --各种执行条件下(包括极端路径)发生的读、写内存超出边界的缺陷;
并发问题(死锁、阻塞)--各种执行条件下(包括极端路径)发生的因线程锁、关键段使用不当
而容易造成死锁、阻塞的缺陷;
使用未初始化数据 --各种执行条件下(包括极端路径)发生的变量未经过初始化而被使用的缺陷,
包括未初始化的堆、未初始化的栈、全部和部分未初始化的数组等;
资源控制问题(资源泄漏、不安全的资源操作)--各种执行条件下(包括极端路径)发生的资源
2
打开后未能关闭的缺陷;
除零操作
错误的迭代使用
print 函数格式错误
scan 函数格式错误
不可达代码 -- 各种条件下均无法运行达到的语句;
DLL 劫持漏洞
弱加密
忽略返回值
最小权限问题
有问题的编码实践(赋值语句用作条件、字节序转换问题、精度损失)
未经验证的用户输入
注册表操作问题
必须禁用的 API
推荐禁用的 API
管道劫持漏洞
无用的局部变量
不匹配的返回值
COM 缺陷
DNS 欺骗
计算的值从未使用
解析警告
C/C++警告
移植性问题
Typedef 类型检查器
Java 代码缺陷类型:
运行时异常处理错误--对运行时出现的异常的处理错误;
资源泄漏
对象释放后使用 使用释放后资源
线程与同步问题(阻塞、死锁)
error 处理不当
3
数据注入
进程和路径注入
性能问题 --空字串比较、空的 finalize 方法、循环中的字串追加、同步方法间调用、对象创建效
率问题、toString 方法的使用问题
跨站点脚本攻击漏洞
拒绝服务漏洞
信息泄露
冗余代码
复制缺陷
弱加密
Struts 问题
串行化 API 错误
弱封装
可维护性问题
影响质量安全的不良编码风格
忽略返回值
未经验证的用户输入
特定规则 -- 不良的类继承关系、字符串缓冲区未清空、直接使用 Policy 方法
相等与 Hash 码问题
Android 缺陷--未经验证的片段类名、未验证的外部数据、空对象解引用、sql 连接在退出前未关
闭
克隆问题
不恰当的编码实践(无限递归、可能错误的位操作)
C# 缺陷类型
空对象解引用
危险的类型转换
错误处理不当--空 catch 语句
变量隐藏问题
安全问题
冗余代码
常量条件
性能问题--循环中字符串连接
剩余27页未读,继续阅读
堇朝
- 粉丝: 17
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1