Klocwork在TigerSHARC编译环境下的使用

2017-09-25 00:50
舰船电子对抗 2017年4期
关键词:安全漏洞右键命令

王 妍

(中国船舶重工集团公司第七二三研究所,江苏 扬州 225001)

Klocwork在TigerSHARC编译环境下的使用

王 妍

(中国船舶重工集团公司第七二三研究所,江苏 扬州 225001)

TigerSHARC是一种在VisualDSP++平台开发的高效、高速的数字信号处理器。Klockwork软件是基于专利技术分析引擎开发的静态分析软件,其融合了多种静态分析技术包括构建学习技术、编译技术、数据流分析技术、符号执行技术。介绍了利用Klockwork软件在TigerSHARC编译环境下进行动态错误检查测试的方法。

TigerSHARC;VisualDSP++;Klockwork;动态错误检查

0 引 言

软件测试对于软件质量的保证,提高软件的可用性、稳定性、可靠性、科学性有着至关重要的作用。Klockwork软件是一种用于动态错误分析的工具,它能够发现软件的质量、安全漏洞等方面的缺陷,还可以分析软件架构、编程规则的违反情况。

VisualDSP++是ADI公司针对TigerSHARC系列数字信号处理器(DSP)所研发的一种开发平台。TigerSHARC是一款高性能的静态超标量数字信号处理器,其在结构上对大的信号和通信任务处理进行了优化[1]。

本文将从Klockwork构建原理上分析,探讨Klocwork测试工具在VisualDSP++上的使用方法。

1 测试工具和编译环境简介

1.1 Klockwork

Klockwork的主要功能有:(1)软件缺陷与安全漏洞检测;(2)软件度量分析;(3)可定制的代码分析;(4)开发人员IDE集成;(5)IDE中的代码重构。Klockwork软件支持多种语言种类:包括C,C++,C#和Java[2]。

1.2 VisualDSP++

VisualDSP++是TigerSHARC系列DSP的编译环境,目前的版本为5.0,支持C语言,C++。

2 Klockwork测试原理

2.1 Klockwork技术原理

Klockwork分析软件代码步骤如图1所示[2]。步骤1:构建和代码分析;步骤2:代码和系统知识聚合;步骤3:跨过程缺陷分析;步骤4:数据库生成。

2.2 Klockwork构建过程

Klockwork的构建方法有2种:(1)自动的集成构建;(2)用户手动生成构建配置文件。构建过程如图2所示[2]。

构建完成后可通过Klockwork Review查看缺陷报告,通过Klockwork Architectural Analysis工具可以进行架构分析、架构重构、变更影响分析、流程图绘制等操作。

3 VisualDSP++环境下的测试方法

完成动态错误检查测试的重要任务就是生成构建结果(*.out)即out文件。VDSP环境中生成构建结果(*.out)主要有2种方式:第1种是在IDE中加入Klockwork的追踪命令生成追踪文件(*.trace),然后再使用kwinject命令将trace文件转换成out文件;第2种方式是在命令行下使用kwinject命令追踪编译过程直接生成out文件。本文介绍在IDE中进行设置的方法。

(1) 配置编译器

VDSP使用的相关编译命令是:compiler,用文本编辑器打开,configkwfilter.conf,将编译命令compiler加入到GNU编译器类型的后面,点击保存退出,如图3所示。

(2) 打开IDE,加入工程文件进行编译,编译成功之后会在工程目录下面生成以mak为后缀的makefile文件。在IDE中点击“clean project”。

注意:加入makefile文件后clean菜单键失效,所以要在加入前点击“clean project”。

(3) 右键项目名称,选择Add Files to Project,如图4所示。

(4) 打开makefile文件,可以看到相关编译信息,选择target的名称,如图5中的powerProc_Debug。

(5) 然后在makefile上右键选择file options,修改命令行中最后的target信息,改成makefile文件中target的名称powerProc_Debug,如图6所示。之后在该命令行前面加上命令kwinject -T powerProc.trace,点击确定,保存文件,如图7所示。

(6) 保存文件回到IDE界面,点击“Rebuild project”,此时在工程目录下面会出现trace文件。

(7) 如果对项目进行了修改(应该是文件增加、减少或文件名变化),需要重新编译生成trace文件。首先修改makefile的选项,在.mak文件上右键选择file options,勾选Exclude file from bulid,如图8所示。

(8) 在IDE里点击:“clean project”。右键选择file options,把Exclude file from bulid再勾掉,点击确定。Rebuild重新进行编译,生成trace文件。

(9) 使用kwinject命令将之前生成的trace文件转换成out文件,打开命令行窗口输入并执行命令kwinject-t powerProc.trace-o powerProc.out这个命令会将trace文件转换成out文件。

注意:生成的trace文件,其文件内容是追加形式并非覆盖方式,所以在每次生成trace文件之前务必将该文件删除。make文件中的工程目录需要检查,如不符合应手工修改。

(10) 打开命令行窗口,将当前路径转入工程所在目录下,输入 kwcheck import powerProc.out。

(11) 在Klockwork Desktop中可以看到要分析的工程文件,开始对其进行动态错误分析。

4 结束语

利用Klockwork软件进行动态错误检查测试,可以发现一定的软件缺陷和安全漏洞,但是根据测试结果修改完善后的软件并不是完美无缺。本文是针对TigerSHARC而提出的一种利用Klockwork软件进行动态错误检查的方法。针对其他多种多样编译环境的测试,将有待今后结合实际,进行更加深入的研究和探讨。

[1] TigerSHARC处理器技术问题精选[J].世界电子元器件,2013(11):75-76.

[2] 陈学勤.快速检测代码缺陷与安全漏洞的方法与实践[J].指挥信息系统与技术,2010(5):69-73.

UsageofKlockworkinTigerSHARCComplicationEnvironment

WANG Yan

(The 723 Institute of CSIC,Yangzhou 225001,China)

TigerSHARC is an efficient digital signal processor (DSP) with high-speed,and is developed on the platform of VisualDSP++.Klockwork software is a static analysis software developed based on the patent technology analysis engine,blends various static analysis techniques such as constructing learning technique,edit and translation technique,data flow analysis technique,symbol execution technique.This article introduces the method for dynamic error checking test by using Klockwork software under the TigerSHARC compilation environment.

TigerSHARC;VisualDSP++;Klockwork;dynamic error checking

TP311.5

:A

:CN32-1413(2017)04-0095-03

10.16426/j.cnki.jcdzdk.2017.04.024

2017-05-19

猜你喜欢
安全漏洞右键命令
管理Windows10的PowerShell命令行使用记录
刍议计算机软件中的安全漏洞检测技术
轻松整理Win10右键菜单
疫情就是命令 防控就是责任
自定义“开始”右键控制菜单
智能设备安全漏洞知多少
用右键菜单管理右键菜单
计算机软件安全漏洞检测技术
解析Windows10的内部命令
给Windows 10右键菜单做“手术”