您的位置:首页 > 编程语言

使用Klockwork进行代码分析简单操作流程

2014-06-25 10:07 2291 查看
前一段时间公司试用了一下klockwork公司的klockwork代码静态分析软件,我所在项目组进行了试点,试用后感觉不错,有几大亮点:
1)对代码进行静态分析,无需改动任何源码文件;

2)分析出来的缺陷问题准率比较高。根据我使用情况来看,达到90%以上;

3)针对问题的描述非常清晰,有详细的问题产生流程(具体每一步骤所涉及的源代码文件、行数),基本上一看就清楚问题的产生来源;

4)具备跨文件/模块的分析能力(这一点对于大型项目尤其重要)。

当然,目前为止我也只是试用了该软件关于问题缺陷的分析功能,还有很多高级功能没有用到。以下针对该软件的安装及简单使用进行说明。

Linux系统软件安装及操作:

1)安装服务端程序:

./kw-server-installer.9.2.1.7276.linux.sh -i /usr/local/kwserver –a
-i选项设置安装目录,-a不打印授权协议信息
注意:必须以普通用户进行服务端程序的安装。
2)拷贝license文件到安装目录下的prjects_root/licenses目录;
3)启动klockwork软件:

/usr/local/kwserver/bin/kwservice -r /usr/local/kwserver/projects_root/ start

Klockwork软件自带了mysql数据库,其启动时也会进行数据库的启动,可能造成其自带数据库端口号与系统数据库端口号冲突,此时通过如下命令进行数据库端口号的修改:

/usr/local/kwserver/bin/kwservice –r /usr/local/kwserver/projects_root/ set-service-property database port 3310

如上命令将数据库缺省的3306端口改为3310。
注意:以上命令只能由普通用户执行(非root用户)。
4)代码静态分析:
a)采集程序信息

进入软件项目目录,运行如下命令采集程序信息(第一次运行该命令必须保证完整make):
/usr/local/kwserver/bin/kwinject -o xxx.out make
其中,xxx.out为所采集程序信息的输出文件,为避免遗忘,名称与项目名称一致。
b)建立静态分析工程:

/usr/local/kwserver/bin/kwadmin create-project xxx --language c,cxx
其中,xxx为静态分析工程名称(即分析结果项目名称)。c,cxx表示该工程为C/C++工程(当前支持c,cxx,java,csharp,多种语言中用“,”分隔)。可通过如下命令查看当前存在的工程:/usr/local/kwserver/bin/kwadmin list-projects。
c)对代码进行静态分析:

/usr/local/kwserver/bin/kwbuildproject -f -o ./table1 xxx.out
其中,-f表示强制进行项目的build,即使目标目录中已经存在上次build后的数据。 -o设置分析结果目录,./table1为静态分析结果数据的存放目录,可以根据需要进行修改。xxx.out为前述生成的静态分析工程名称。如果一个项目涉及多个静态分析工程,则多个工程间用空格进行分隔。
d)加载分析结果:

/usr/local/kwserver/bin/kwadmin load xxx ./table1/
其中,xxx为静态分析工程名称,./table1为静态分析结果数据目录。
5)通过http://xxx.xxx.xxx.xxx:8080地址查看以上静态分析结果,其中xxx.xxx.xxx.xxx为klockwork服务器地址,截图如下:









Windows系统软件安装及操作:
1)运行服务端安装程序,期间自动安装所需要的Java 2 SE Runtime Environment 6u22及相应的.Net Framework;
2)安装过程说明:



该目录存放服务器数据(含License文件)



缺省的服务器端口为8080,数据库端口为3306,License服务器端口为27000。
3)安装完成后,通过菜单的“Start Klockwork Servers”菜单项进行启动,然后运行Klockwork Management Console进行操作;
4)代码静态分析流程:



a)如上图,通过klockwork management console的File菜单New Project菜单项建立新工程,在新工程窗体中选中C,C++语言。注意:C/C++语言不能与C#语言同时选中。



b)如上图,选择代码工程,选择源代码文件编码格式;



c)如上图,选择所有选项,以保证分析结果更详细;



d)如上图, 新建立的工程如上图所示,选中该工程,点击右键菜单的“Build”菜单进行工程的代码静态分析;



e)如上图, 显示Build进度,indow自动将Linux系统中的多个分析步骤集成于一体,只需要简单的Build就完成一切。

当然,klockwork软件有服务端与客户端之分,以上只针对最简单方式进行说明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐