使用testbed进行代码的静态分析主要有四个步骤:
选择分析对象
分析前的设置
分析项的选择与分析过程
查看分析结果
1、选择分析对象
可通过两种方式选择被分析对象:单个文件分析、以集(set)的形式分析,其中以set形式可一次分析多个文件
进行单个文件分析时,点击testbed菜单file-select file打开要分析的文件点击select即可,可在工具快捷按钮栏下方看见所选择的文件
以set形式进行分析时,点击testbed菜单Set-select/create/delete sets创建一个set
输入set名点击create后会弹出set的属性设置对话框,有两种属性:group和system
创建好set后可看见set名及其属性
接下来向集合中添加文件,点击testbed菜单set-list/add/remove files in sets,在弹出的对话框中点击add添加多个文件到set中
2、分析前的设置
基本静态设置
点击testbed菜单configure-static option,弹出static analysis option对话框
选项卡include files中的内容是对头文件的设置,其中:
analysis include files区域设定是否分析头文件,一般选择第二种analysis the first instance of each found include
interactive include file analysis 区域设定代码中出现头文件包含语句时,testbed与用户的交互方式,一般选择第三种display dialog only when include file not found
include search directories区域设置头文件的查找目录和系统头文件的处理方式,其中search options设置头文件的查找目录,分析前须添加头文件目录,system include search设置系统头文件的展开方式,建议设为don't expand
选项卡macros设定用户代码编译宏的处理方式
sysppvar区域设置编译宏的定义,对于在编译命令中定义的宏,而在代码中使用此宏影响代码的编译的情况,需要用户把该宏添加到testbed的设置文件中,可点击edit default打开文件sysppvar.dat,在此文件中添加相应的宏定义
interactive conditional preprocessing options区域设置针对代码中未识别的宏的处理及交互方式,选中interactive preprocessing时,出现未识别的宏时会弹出对话框让用户定义此宏,AutoMacro设定宏的自动定义处理方式:
Enable-promt for macro vaule弹窗提示并让用户指定宏值
Enable-no promt , use default 不弹窗提示,使用默认值
Disable-stop static analysis 弹窗,并停止分析
代码评审报告设定
点击testbed 菜单configure-quality report options,弹出对话框quality report,在选项卡report based congiguration 中的programming standards model区域选择进行编码规则检查所使用的规则集,在additional detail for each standards violation区域设定分析结果报告是否包含源代码行号和格式化后的代码行号
在选项卡data files中的standards models editor区域点击launch editor可以打开编码规则图形化定制页面实现规则集的定制
质量评审报告设定
点击testbed菜单configure-metrics report options,弹出metrics report对话框,在metpen configuration区域可以设定质量评审报告中每个度量元的上下限阈值,定制质量模型,点击C:\LDRA_Toolsuite\metpen.dat后的edit,打开质量模型配置文件,修改此文件中度量元的上下限阈值即可修改质量模型
数据对象分析报告设定
点击configure-data object analysis report options,弹出data object analysis configuration 对话框,设定数据对象分析报告中显示的对象范围
3、分析项的选择与分析过程
点击菜单analysis-select analysis,在弹出的对话框中选择要执行的静态分析项,接着点击start analysis开始分析
4、查看分析结果
单个文件结果查看
点击菜单individual results 可看到下拉项source code 、text results、graphical results分别显示了分析结果,这三个下拉项分别展开可查看详细的分类结果
set的结果查看
点击菜单set results 可看到下拉项text results、graphical results分别显示了分析结果,这两个下拉项分别展开可查看详细的分类结果