LDRA Testbed静态分析操作步骤.docx
- 文档编号:15526729
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:14
- 大小:546.06KB
LDRA Testbed静态分析操作步骤.docx
《LDRA Testbed静态分析操作步骤.docx》由会员分享,可在线阅读,更多相关《LDRA Testbed静态分析操作步骤.docx(14页珍藏版)》请在冰点文库上搜索。
LDRATestbed静态分析操作步骤
使用LDRATestbed对代码进行静态分析
静态分析的主要操作:
①分析对象选择
②分析前的设置
③分析项的选择与分析过程
④分析结果的查看
详细操作如下:
一、分析对象的选择,即如何选择你的分析对象(被分析的文件);
有两种方式:
单个文件分析和以集(set)的形式分析,以集的形式分析可每次分析多个文件
1.单个文件分析选择
打开程序LDRATestbed,点击Testbed的菜单file通过文件浏览窗口打开文件要分析的文件,如C:
\LDRA_Workarea\Examples\C_testbed_examples\Testrian\Testrian.c。
点击select之后,可以在工具快捷按钮栏的下方看见目前选择的文件
2.以集(set)的形式分析选择
1创建集合(set),设置集合属性
打开程序LDRATestbed,点击Testbed的菜单Set→Select/Create/DeleteSets弹出set创建窗口
在图中上部的Select/CreateSets区域写入set的名字,然后点击下部的Create按钮创建set,此时会弹出set的属性设置对话框,有两种属性可以设置”Group”和”System;”
此两种属性的区别:
Group只是把set中的多个文件孤立的分析,不会分析文件间代码的相互关系,可作为批量分析使用。
System把set中的多个文件作为一个工程来分析,能够分析文件间的代码的关联,一般都会采用此种属性。
Set创建之后可在窗口中确认如下:
其中demo为set的名字,system为set的属性,(0files)代表set中目前没有文件
2向集合中添加文件
点击Testbed的菜单Set→List/Add/RemoveFilesinSets弹出添加文件窗口
点击图中的Add按钮,通过文件浏览窗口可添加多个文件到set中。
二、分析前的设置
在分析前需要对工具进行简单的设置,主要包括用户头文件的设置和编码规则集的设置。
1.基本的静态设置,包含头文件和编译宏设置。
点击Testbed菜单configure→staticoption,弹出staticanalysisoptin对话框,
在选项卡Includefiles中的内容是对头文件的设置,可关注的设置有,
“AnalysisIncludefiles”区域设定头文件的展开方式(即分不分析头文件),建议选择第二种
Analysisthefirstinstanceofeachfoundinclude
“Interactiveinclude”区域设定代码中出现头文件包含语句时,工具与用户的交互方式,建议选择第三种Displaydialogonlywhenincludefound
“IncludeSearchDirectories”区域设置用户头文件的查找目录和系统头文件的处理方式
按钮SearchOptions可设置用户头文件的查找目录,可通过浏览方式添加目录
按钮SystenIncludeSearch可设置系统头文件的展开方式,建议设为Don’tExpand
在选项卡macros中设定用户代码编译宏的处理方式
“sysppvar”区域是对编译宏的定义设置,对于在编译命令中定义的宏,而在代码中使用此宏影响代码的编译的情况,需要用户把此宏添加到工具的设置文件中,可点击EditDefault按钮打开文件sysppvar.dat,在此文件中添加相应的宏定义,宏定义的方式可通过点击蓝色的Example显示样例;
“InteractiveconditionalPreprocessingOptions”区域是设置针对代码中未识别的宏的处理及交互方式;如果选中”InteractivePreprocessing”,当出现未识别的宏时会弹出对话框,让用户定义此宏,如果不选当出现未识别的宏则不弹窗口;”AutoMacro”设定宏的自动定义处理方式,
”Enable–promtformacrovaule”弹窗提示并让用户指定宏值
”Enable–nopromt,usedefault”不弹窗提示,使用默认值
”Disable–stopstaticanalysis”弹窗,并停止分析
2.代码评审报告设定。
在Testbed菜单configure→codereviewreportoptions点击,弹出codereviewreport对话框.
在选项卡ReportbasedConfiguration中”ProgrammingStandardsModel”区域中选择你要生成编码规则检查结果报告所使用的规则集的名字;
在”AdditionalDetailforeachStandardsViolation”区域中设定在代码评审结果报告是否包含原代码行号和格式化后的代码行号。
在选项卡DataFiles中可以实现对编码规则集的定制,在”StandardsModelEditor”区域点击按钮”LaunchEditor”可以打开编码规则图形化定制的画面
其中列代表的是具体的规则条目,行代表的是规则集的名称,通过选择框的选择可以把某条规则包含或剔除到规则集内。
3.质量评审报告设定
在Testbed菜单configure→qualityreviewreoportoptions点击,弹出qualityreviewreport对话框,在”Metpenconfiguration”区域可以设定质量评审报告中每个度量元的上下限的阈值,即可定制质量模型以便生成质量评审报告,点击”C:
\LDRA_Toolsuite\metpen.dat”后的”Edit”按钮,可打开质量模型配置文件,修改此文件中度量元的上下限阈值即可修改质量模型。
4.数据对象分析报告设定。
在菜单configure→dataobjectanalysisreoportoptions点击,弹出dataobjectanalysisconfiguration对话框,设定数据对象分析报告中显示的对象范围。
三、分析项的选择与分析过程
在Testbed菜单analysis→selectanalysis点击,弹出selectanalysis对话框,在此对话框中选择要执行的静态分析项:
mainstaticanalysis、complexityanalysis、staticdataflowanalysis、crossreference、informationflowanalysis、dataobjectanalysis,然后点击startanalysis按钮进行分析。
四、分析结果(报告)查看
1.单个文件结果查看
点击Testbed菜单Individualresults可看到下拉项Sourcecode、Textresults、Graphicalresults分别显示了分析结果,这三个下拉项均可展开,便于用户查看详细的分类结果。
文本化的分析结果:
图形化的分析结果
2.集(set)的结果查看
点击Testbed菜单Setresults可看到下拉项Textresults、Graphicalresults分别显示了分析结果,每个下拉项均可展开,便于用户查看详细的分类结果。
3.报告内容介绍
报告内容
文本报告
Analysisscopereport分析范围报告
Testmanagerreport测试管理报告,主要包含代码评审和质量评审的总体结果
Codereviewreport代码评审报告,包含编程规范检查的违反情况
Qualityreviewreport质量评审报告,包含每个函数的清晰性、可维护性和可测试性总体指标,以及质量度量标准的每项度量值(格式化代码信息、函数信息、函数注释信息、注释与可执行代码比例信息、复杂度信息、霍尔斯特德度量信息、循环嵌套信息、LCSAJ及不可达代码信息和数据流信息)
Designreviewreport设计评审报告,包含函数的入参及返回值的信息
Reformattedcode格式化后的代码,可以查看规则违反情况
LCSAJreportLCSAJ报告,包括代码中的LCSAJ的数量及划分细节
LCSAJtestcaseplannerreport此报告以函数为单位列出LCSAJ的详细情况,并给出执行此LCSAJ所有满足的条件,可指导用户设计测试用例增加LCSAJ的覆盖率
Dataflowanalysisreport数据流报告,包含变量的使用异常、函数接口参数、全局变量和函数调用关系
Procedureheadercomment函数头注释,可以自动生成函数头注释便于用户使用
Userdefinedtypereport用户自定义类型报告
Crossreferencereport交叉索引报告,包括所有数据项的分析,类型属性
Informationflowanalysisreport信息流报告,对函数中变量的依赖关系分析,包含强依赖、弱依赖、条件依赖,强定义、弱定义
Dataobjectanalysisreport数据对象报告,根据单个或一组对象信息获取此对象的所有数据分析情况
图形报告
Staticcallgraph静态调用关系图,反应函数的层次及调用关系
Staticflowgraph静态控制流图,反应函数内部的控制流程
Standardkiviat标准kv图
Claritykiviat清晰性kv图
Maintainabilitykiviat可维护性kv图
Testabilitykiviat可测试性kv图
Staticbarcharts静态柱状图基本结点基本复杂度结点复杂度最大嵌套深度
第1层间隔数目基本块可执行格式化代码行函数注释
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LDRA Testbed静态分析操作步骤 Testbed 静态 分析 操作 步骤