klocwork培训最终版
DESCRIPTION
KlocworkTRANSCRIPT
1
KLOCWORK8 测试 工具学习2009年 3 月
2
KlocWork K8 学习1 K8 简介2 K8 功能介绍3 k8 安装方法4 K8 操作演示
3
K8 简介 概述 优势 组成
4
K8 概述 Klocwork k8( 简称 K8)是 Klocwork 公司开发的一种静态分析测试工具,行业领先水平的软件开发组织使用 K8 来降低成本、改进软件质量。
5
K8 概述 支持的编译器 Klocwork 的产品具有很强的编译器独立性,已经成功集成到如下环境中 : • GCC• G++ • Green Hills Software • Wind River Diab • Sun WorkShop/Forte • GNU GCC • aCC • aC++ • MetroWerks CodeWarrior • Sun CC • Microsoft Visual C++ • Sun Java Compiler 1.3 and 1.4 • Metaware C/C++ Compiler同时支持主流的软件构建环境和配置管理工具
6
K8 简介 - 优势 市场上处于领先的全面静态分析 灵活的分析报告和缺陷管理功能
7
帮助开发人员 IDE 集成使开发人员进行准确的本地分析
Klocwork developer desktop 自动与系统分析上下文进行关联最佳性能、最佳准确性、全系统上下文传递到本地在解决缺陷时,创建 peer-to-peer 协同统一缺陷 ID 和开发人员的行为与缺陷保持一致,开发人员不会对同一缺陷进行重复工作与 IDE 集成,或者通过简单的命令行调用
Klocwork Insight 是唯一一个能够将桌面源代码分析的高效性与系统范围分析的强大、准确完美结合在一起的源代码分析工具
K8 简介 - 优势
8
分析结果 - 报告可以用这些条件查询缺陷这里选择统计图的类型
9
自动化架构分析 优化架构
10
k8 简介 - 组成 Klocwork k8 产品套装分为两种 全功能开发套装 :支持 C,C++和 Java Java 开发套装:只支持 Java 语言
11
K8 简介 - 组成
Source
Klocwork 引擎kwadmin kwbuildproject Klocwork build tools (kwwrap,
kwinject, kwant, kwvcprojparser, kwdspparser)
Klocwork projects_root 目录
Object files FBKB
Project Properties
Klocworktables
Project Reports
Configfiles
Build Specification
Database
UserModels
SystemModel (R/O)
Klocwork 服务器FLEXlm LicenseManager(license)
Klocwork Project Server
(project)
Klocwork Web Server
(web)
Klocwork Database Server (database)
Klocwork 应用KlocworkArchitect
Klocwork Review (Web browser)
KMC
kwadmin
kwcheck
KlocworkFor C/C++
Or JAVA (IDEs)
kwinspectreport
服务器
客户端
12
k8 功能
软件缺陷和安全漏洞分析 软件架构分析和软件度量
13
集成构建级分析方法
步骤 1
步骤 2
步骤 3
步骤 4
客户代码
Klocwork
代码分析
可定制的客户
知识库文件 Klocwork中间
系统文件
平台知识库
文件
Klocwork缺陷
分析
函数行为
知识库
Klocwork
数据库
自动生成的文件
自动化构建发现
14
分析 Visual Studio 项目
Klocwork 可以从 Visual Studio 的项目文件或工作空间文件( dsp dsw vcproj sln )中提取编译和连接选项,自动生成构建配置文件 必须安装对应的 Visual Studio 环境
系统头文件Visual Studio 编译环境
15
分析 Make/build 脚本类项目 首先保证整个系统重新编译
Make -f clean手工删除生成的目标文件
使用 Klocwork 辅助工具进行构建,同时生成构建配置文件(以 .out 为后缀的文件):使用命令: kwinject -o test.out make -f Makefile 输出的构建配置文件必须以 .out 为后缀,名称可以任意
然后,在 KMC 中按照用 build specification files 构建的方法进行分析
16
从源代码根目录分析 在不能得到构建配置的情况下,可以采用从源代码根目录分析的方式
适合小型项目对大型项目分析准确度不高
缺点需要知道程序的 includes/system includes/macro
definition ,软件的这些设置多的时候,手工设置很累无法剔除无用的源文件不能保证头文件调用的正确次序
17
从 Tables 目录分析 从中间文件进行分析 适用于仅仅改变了要分析的缺陷和安全漏洞类型的分析 可以节省分析时间
18
缺陷分析 KlocWork k8 所定义的缺陷是广义的缺陷,包括一般软件缺陷和已知软件安全漏洞 . 通过缺陷配置文件可选择性地测试分析软件存在的缺陷
19
一般缺陷 一般软件缺陷样例
20
安全漏洞 已知软件安全漏洞样例
21
架构分析和软件度量架构分析 软件度量
22
架构分析代码结构展示 系统视图显示已有应用系统的物理结构,应用系统中的依赖关系连同应用系统和外部环境间的依赖关系也显示出来。
发现并修复设计异常 软件架构师利用这种分析快速发现复杂的架构问题(如循环依赖)、模型改进等方面的内容然后为开发人员产生一个可操作的变更列表。
23
架构分析优化头文件结构在大型 C/C++ 软件中,一个普遍的可维护性问题就是过于复杂的头文件结构,比如包含了许多不必要的头文件。 k8 能够对您的系统执行自动分析,然后给出经过优化后,对潜在的系统文件大小、构建时间减少的量值,并给出优化您头文件的某种推荐方案的路径图。
功能强大的代码审查使用自动的流程图功能,从源代码分析得出程序的流程图,理解文件的处理流程,来帮助进行更加高效的编码。
24
软件度量 过程度量-过程度量是经典的项目管理层次的度量,如:测试用例执行完成的数量或者已经实现的需求的百分比。 资源度量-另外一种常用的、然而更加宏观层次的度量集合,通常用于访问人力资源方面,如:劳动生产率或者分配的项目 A 与项目 Z 的人时对比。 环境度量-测量影响开发团队生产力的环境因素,相对过程和资源度量不是那么常用,并且这些信息收集起来很困难;一个例子就是平均每天一个开发人员被打断工作的时间。 Klocwork 能够提供包括这些度量在内的最佳解决方案,自动产生直接从源代码中产生的客观的、可操作的产品度量。
25
软件度量
Klocwork 面向结果的产品度量,让项目 ledaer 和软件 QA 人员,随时查看软件的缺陷情况,控制软件的产品质量,并做出及时响应。
26
K8 安装 环境要求
安装步骤(共 5 个步骤)
27
环境要求操作系统( k8 不能在 Root权限下安装)
28
环境要求 浏览器
浏览器要启用 Cookies 支持
29
安装步骤第一步 安装服务端 kw-server-installer 可在下图所示的安装过程中选中“ Create Windows Services for
Klocwork Servers”就可以将 Klocwork 服务设置成 Windows服务,在计算机启动的时候自动启动这些服务。
30
安装步骤第二步 安装客户端 kw-user-installer
第三步 安装补丁和加密狗驱动
31
安装步骤 第四步 拷贝 k8授权 license
必须拷贝 Beijing_System***.lic 文件到安装目录下projects_root\licenses 目录下,然后才能正确启动License授权服务,且使用的加密狗和 License 必须一一对应。
32
安装步骤第五步 启动 k8四项服务 Klocwork的 4 项服务及其占用的端口:
license 27000 License服务器 web 8070 Web服务器 database 3312 数据库服务器 project 1104 分析引擎调度服务器
33
K8操作演示 缺陷分析 查看分析结果和管理缺陷 架构分析和软件度量
34
缺陷分析 运行 KMC
35
缺陷分析 新建一个工程
36
缺陷分析 选择分析方式
37
k8默认有三个配置文件分别为度量文件、问题文件和规则文件,如下图所示,分别对三个文件进行配置。
缺陷分析
38
缺陷分析 进行缺陷分析
39
查看分析结果和管理缺陷运行客户端 Klocwork Review 或直接在浏览器中输入http://server_name:8070 查看分析结果 。
40
架构分析运行客户端 Klocwork Architect 进行架构分析。
41
致 谢