关于代码检查工具klockwork 的安装部署

本文档详细介绍了Klocwork V10的安装步骤,包括依赖包的安装、服务运行、配置修改及扫描C和Java代码的过程。用户端分析步骤也一并给出,帮助用户进行代码质量检查。

本次测试安装版本V10.

1、安装
使用普通用户,test
在/opt下创建目录,
mkdir /opt/kw
chown test:test /opt/kw
如果安装client端,则
mkdir /opt/kw-user
chown test:test /opt/kw-user

test用户执行安装程序。
./kw-server-installer.9.6.4.11809.linux64.sh -i /opt/kw
./kw-user-installer.9.6.4.11809.linux64.sh -i /opt/kw-user/


在安装部署等过程中可能存在包等依赖问题,通过查看日志解决,本次部署主要依赖两个包

中间会提示缺少依赖包,可以看日志文件确认。
vi /opt/kw/projects_root/logs/license.log
x86系统安装的依赖包有:
yum install glibc-2.12-1.25.1.ky3.3.i686
yum install libgcc-4.4.5-6.1.ky3.i686



2、服务运行
./bin/kwservice -r ../kw/projects_root/ start
./bin/kwservice -r ../kw/projects_root/ stop

运行之前需要安装正版认证服务器的驱动

修改hostname如:
127.0.0.1 Kylin-VMware
解决问题后启动服务
./bin/kwservice -r ../kw/projects_root/ start

安装证书文件:
cp license/K9_Nohost_Mar_28_2013.lic //opt/kw/projects_root/licenses




扫描C代码的过程:
1、找到源码位置
2、./configure

3、//opt/kw/bin/kwinject make
如果是通过rpmbuild编译的,则在build目录下make clean清除后再执行。
生成了kwinject.out文件
4、/opt/kw/bin/kwconfigeditor /opt/kw/projects_root/projects/workspace/rules/problems_default.pconf.xml
使用该工具修改扫描的配置,侧重扫描拿部分内容。
5、开始扫描
/opt/kw/bin/kwadmin create-project test
/opt/kw/bin/kwbuildproject --project test -f -o table kwinject.out
/opt/kw/bin/kwadmin load test table


然后通过http://localhost:8080/访问结果
登录名为安装的用户名,没有密码。



扫描java代码的过程


java 环境配置
    安装 jdk
    安装 ant

    1. 进入源码目录
    2. 生成项目 kwadmin create-project test
    3. 使用kwant -o kwinject.out 命令编译项目 生产 kwinject.out文件
    注:若该方法无法无效,则使用以下方法:
        编辑build.xml加入如下配置
        <property name="kout" location="kwant.out"/>
        <property name="rep.inst" location="/opt/kw/"/>
        <taskdef name="javac" classname="com.klocwork.kwant.KWJavac">
        <classpath>
            <pathelement location="${rep.inst}\class\kwant.jar"/>
            <pathelement location="${rep.inst}\class\infoserver.jar"/>
            <pathelement location="${rep.inst}\class\kwutils.jar"/>
            <pathelement location="${rep.inst}\class\log4j.jar"/>
            <pathelement location="${rep.inst}\class\jdom.jar"/>
        </classpath>
        </taskdef>
    4. kwbuildproject --project test -f -o table kwinject.out
    5. kwadmin load test table
    6. 访问http://localhost:8080/查看结果


User端分析步骤
首先进入到项目所在的路径(工程所在的路径下)
2.1. 创建本地项目名
命令:kwcheck create 会在当前目录下生成一个 .kwlp .kwps 的目录,用来存放数据和配置文件的
2.2. 获取构建配置文件
kwbuildproject --project infoeditor -f -o table kwinject.out

用命令分析并查看结果
命令: kwcheck run –b <kwinject>.out

缺陷是不能在 web 中查看的但可以导出 txt 和 xml 格式的文件,命令为:
kwcheck list -F xml>report.xml
kwcheck list -F detailed>report.txt









Klocwork 介绍 Klocwork - 源代码缺陷自动分析工具概述:Klocwork 软件是 Klocwork 公司基于专利技术分析引擎开发的,综合应用了多种近年来 最先进的静态分析技术,是出色的软件静态分析软件。Klocwork 产品与其它同类产品相比, 具有很多突出的特征:Klocwork 支持的语言种类多,能够分析 C、C++和 Java 代码;能够发 现的软件缺陷种类全面,既包括软件质量缺陷,又包括安全漏洞方面的缺陷,还可以分析对软 件架构、编程规则的违反情况;软件分析功能全面,既能分析软件的缺陷,又能进行可视化的 架构分析、优化;能够分析软件的各种度量;能够提供与多种主流 IDE 开发环境的集成;能 够分析超大型软件(上千万代码行)。主要功能: 缺陷检测提供多角度的各种缺陷类型的分析。自动化的缺陷检测功能易于使用,定制灵活,具有图 形化的构建和报表管理图形界面,拥有业界领先的消息过滤器,极具柔性的配置,和强大的学 习调整知识库;Klocwork 能够分析 C/C++和 Java 代码,生成代码问题报告,能够发现的缺陷 类型举例。(详细参见附录): C/C++缺陷类型样例 空指针释放 内存管理问题(如:内存泄漏) 数组越界 未初始化数据使用 编码风格问题(如:在条件中赋值) Java 缺陷类型样例 效率错误(如:空的 finalize 方法) 可维护性问题(如:空的 catch 从句) 可靠性问题(如资源泄漏) 安全漏洞检测Klocwork 确信软件安全性是软件质量中一个重要的、并越来越受重视的方面。同样的, 所有的 Klocwork 安全漏洞分析是基于市场领先的缺陷检测能力,从原来的缺陷检测分离出来 单独的安全漏洞检测和违反推荐的安全代码最佳实践的缺陷检测。 能够检测到的安全漏洞类型 举例(详细参见附录) C/C++安全漏洞分类 访问控制缺陷 缓冲区溢出 DNS 欺骗 忽略返回值 注入缺陷 不安全的存储 未经验证的用户输入 Java 安全漏洞分类 拒绝服务 注入缺陷(如:SQL 注入、进程注入等) 未经验证的输入 移动代码安全 有漏洞的会话管理 跨站点脚本 出错处理不当
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值