LDRATestbed静态分析操作步骤
ldra使用手册

ldra使用手册LDRA使用手册LDRA(Logical Design for Reliable Applications)是一种软件测试工具,广泛应用于软件开发和测试领域。
以下是关于LDRA使用手册的内容:1. 简介:- LDRA是一种全面的软件测试工具,可用于静态和动态代码分析、单元测试、集成测试和验证等多个测试阶段。
-它提供了功能强大的测试套件,用于验证软件系统的安全、可靠和合规性。
2. 安装与配置:-首先,从LDRA官方网站下载LDRA安装程序,并按照提供的说明进行安装。
-随后,根据项目需求配置LDRA工具,包括设置目标平台、编译器、构建环境和测试策略等。
-配置完成后,可以开始使用LDRA进行软件测试。
3. 静态代码分析:- LDRA提供了静态代码分析工具,用于检查代码中的潜在问题、安全漏洞和代码规范违规等。
-使用LDRA的静态分析功能可以提前发现并修复代码中的错误,提高代码质量和可维护性。
4. 动态测试:- LDRA支持各种动态测试方法,包括单元测试、集成测试和验证等。
-可以使用LDRA创建测试用例,并进行代码覆盖率分析、错误检测和性能评估等。
5. 报告生成:- LDRA能够生成详尽的测试报告,包括测试结果、代码覆盖率、错误追踪和质量指标等。
-使用LDRA的报告生成功能可以方便地跟踪和记录测试进度,并为项目管理和决策提供有价值的数据支持。
6. 常见问题解答:- LDRA使用手册还包含了一些常见问题的解答,供用户参考,如如何设置测试环境、如何配置测试策略等。
使用LDRA进行软件测试可以提高软件质量、可靠性和可维护性。
通过详尽的测试过程和全面的测试报告,开发人员和测试人员可以更好地了解代码的性能和安全性,并及时发现和解决问题。
LDRA使用手册提供了全面和详细的指导,帮助用户充分利用LDRA工具,提高软件开发和测试的效率和质量。
Testbed静态检验测试使用指南

目录1Testbed功能介绍 (1)1.1编程规则验证 (1)1.2数据流分析 (1)1.3控制流分析 (1)1.4表达式分析 (2)1.5接口分析 (2)1.6软件质量度量分析 (2)2使用Testbed 进行编码规则的定制和检查 (3)2.1确定测试需求 (3)2.2建立测试工程 (3)2.3定制代码分析规则 (6)2.4配置Report选项 (7)2.5分析执行及结果查看 (8)3结果分析及测试报告编写 (9)3.1质量度量信息的获取 (9)3.2程序质量度量报告单 (11)3.3静态分析质量报告单 (12)附录A:静态分析推荐规则使用说明 (1)1Testbed功能介绍1.1编程规则验证编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRA Testbed 自动地验证应用软件是否遵循了所选择的编程规则。
编程规则由软件项目管理者根据自身项目的特点并参考现有的成熟的软件编程标准制定,如DERA(欧洲防务标准),MISRA(汽车软件标准),LDRA Testbed依据此规则搜索应用程序,并判断代码是否违反所制定的编程规则。
LDRA Testbed报告所有违反编程规则的代码并以文本方式或图形反标注的方式显示。
测试人员或编程人员可根据显示的信息对违反编程规则的代码进行修改。
1.2数据流分析LDRA Testbed分析软件中全局变量、局域变量及过程参数的使用状况,并以图形显示、HTML或ASCII文本报告方式表示,清晰地识别出变量使用引起的软件错误,此种方法既可使用于单元级,亦可使用于集成级、系统级。
通过Testbed数据流分析功能,可方便地分析出软件中一些可能的程序欠缺,如:1.没使用的函数参数;2.不匹配的参数;3.变量未赋初值就引用;4.代码中有多余变量;5.给值传递参数赋值;6.无返回值的函数路径;7.函数的实参是全局变量。
1.3控制流分析控制流分析检查以下内容:1.不可达代码;2.不合理的循环结构;3.存在浮点相等比较;4.函数存在多个出口;5.函数存在多个入口。
LDRATestbed静态分析报告操作步骤

LDRATestbed静态分析报告操作步骤使⽤LDRA Testbed对代码进⾏静态分析静态分析的主要操作:①分析对象选择②分析前的设置③分析项的选择与分析过程④分析结果的查看详细操作如下:⼀、分析对象的选择,即如何选择你的分析对象(被分析的⽂件);有两种⽅式:单个⽂件分析和以集(set)的形式分析,以集的形式分析可每次分析多个⽂件1.单个⽂件分析选择打开程序LDRA Testbed,点击Testbed的菜单File select file 通过⽂件浏览窗⼝打开⽂件要分析的⽂件,如C:\LDRA_Workarea\Examples\C_testbed_examples\Testrian\Testrian.c 。
点击select之后,可以在⼯具快捷按钮栏的下⽅看见⽬前选择的⽂件2.以集(set)的形式分析选择①创建集合(set),设置集合属性打开程序LDRA Testbed,点击Testbed的菜单Set Select/Create/Delete Sets 弹出set创建窗⼝在图中上部的Select/Create Sets区域写⼊set的名字,然后点击下部的Create按钮创建set,此时会弹出set的属性设置对话框,有两种属性可以设置”Group”和”System;”此两种属性的区别:Group 只是把set中的多个⽂件孤⽴的分析,不会分析⽂件间代码的相互关系,可作为批量分析使⽤。
System把set中的多个⽂件作为⼀个⼯程来分析,能够分析⽂件间的代码的关联,⼀般都会采⽤此种属性。
Set创建之后可在窗⼝中确认如下:其中demo为set的名字,system为set的属性,(0 files)代表set中⽬前没有⽂件②向集合中添加⽂件点击Testbed的菜单Set→List/Add/Remove Files in Sets 弹出添加⽂件窗⼝点击图中的Add按钮,通过⽂件浏览窗⼝可添加多个⽂件到set中。
基于LDRA Testbed的软件完整性静态测试方法研究

基于LDRA Testbed的软件完整性静态测试方法研究王玮【期刊名称】《电脑与电信》【年(卷),期】2014(0)4【摘要】根据软件测试工具LDRA Testbed的特点,本文提出了一种基于LDRA Testbed的软件完整性静态测试方案。
该方案策略性选取四种测试方法,详细描述了每种方法的测试过程,输入项和输出项。
实际运用中表明此方案极大提高了测试效率和测试规范性。
%According to the characteristics of software testing tool LDRA Testbed, this paper presents a scheme of static test of software integrity based on LDRA Testbed. This scheme strategically selects the four testing methods, and describes the test pro-cess of each kind of method, the input and output items in details. Practical application shows that this scheme greatly improves the test efficiency and test standard.【总页数】3页(P49-51)【作者】王玮【作者单位】南京航空航天大学计算中心,江苏南京 211106【正文语种】中文【相关文献】1.基于LDRA Testbed的嵌入式软件静态测试 [J], 职晓;吴迪;张江华2.基于LDRA Testbed的软件静态测试研究与实现 [J], 胡丹瑞3.基于LDRA Testbed的DSP软件单元测试 [J], 李艳艳;4.基于LDRA Testbed的民用机载软件静态测试方法 [J], 周培5.基于LDRA TESTBED的汇编语言软件测试方法研究 [J], 尤艺因版权原因,仅展示原文概要,查看原文内容请购买。
LDRA Testbed单元测试操作步骤

使用LDRA Testbed对代码进行单元测试单元测试的主要操作:⑴被测对象选择⑵编译器的确认与切换⑶单元测试模块Tbrun的打开⑷测试序列(Sequence)的创建⑸测试用例的创建⑹测试用例的IO值设定⑺测试用例中桩的设定⑻测试用例的执行⑼测试结果的查看⑽测试用例的保存⑾测试用例中增加用户全局变量⑿测试用例创建向导中对全局数组和指针的处理详细操作如下:一、测试对象的选择在Testbed中C码中的“单元”就是一个函数,每次对一个函数的代码进行测试,测试时每次打开一个源文件。
打开程序LDRA Testbed,点击Testbed的菜单File select file 通过文件浏览窗口打开文件要分析的文件,如C:\LDRA_Workarea\Examples\C_testbed_examples\Testrian\Testrian.c 。
点击select之后,可以在工具快捷按钮栏的下方看见目前选择的文件二、编译器的确认与切换在使用TBrun进行单元测试前需要先确认当前使用的编译器是否是正确的,如果不是正确的编译器可以切换为正确的编译器,其操作如下:1.确认编译器是否为目标编译器在Testbed中右上角的”Options Window”中要确认”Current Compiler”和”Default Compiler”所显示的内容,需要注意两点,“Current”和“Default”是否是目标编译器“Current”和“Default”是否是一样的,应该相同才可以2.切换编译器如果编译器不是用户想要的目标编译器需要切换,切换方法如下:点击Testbed菜单Configure—>Switch Compiler,在弹出窗口的编译器列表中选择目标编译器,然后点击Select按钮即可。
如果编译器选项中的”Current Compiler”和”Default Compiler”不一致,也需要设置为一致的,设置方式为点击Testbed菜单Configure—>Switch Compiler,在弹出窗口中点击Reset Current Set按钮来设置。
LDRA Testbed使用指南

图4
2.2.3
打开Configure下拉菜单,选中Static Options…,弹出Static Configuration对话框,如图5所示,对话框中包含以下设置:
指定Include文件搜索目录的Sysearch.dat文件
定义预处理器宏的Sysppvar.dat文件
工作路径
编码检查规则文件cpen.dat
LDRA Testbed使用指南
1
LDRA公司成立于1975年,具有丰富的软件质量保证和软件测试经验。LDRA工具套件功能强大、全面,不仅适用于主机平台的软件质量保证和软件测试,也适用于嵌入式软件的软件质量保证和软件测试。
LDRA为软件开发人员、测试人员以及项目管理人员提出了零缺陷软件开发(ZDSD),其工具套件能够完全集成并实现以下过程:
标准行第三列中的数用于某些标准的限幅系数,这些标准在文本描述中包含字符串“***”。
标准行第四列中的数用于程序内部表示本条标准,用户不能修改。
标准行第五列中的字符表示本条标准在什么分析中应用,S表示静态分析,C表示复杂性分析,D表示静态数据流分析,I表示信息流分析,X表示交叉引用,Q表示质量报告。
2.2.4
Files in Set对话框中添加源文件到新建的集合中,如图16所示,源文件添加完毕,单击OK按钮,LDRA Testbed将激活其向导对话框,进入分析域设置界面,请参考2.2.2分析域设置。
基于LDRA Testbed的软件静态测试研究与实现

3 ,6 ( n f:E p e i s n tB o a .:2 / 5 3 O e o ) x rs o i o o l n n e 8
/ ( M) S AT C T I VI AT1 : 4 S MI RA OL 0N 9 : S 3 :L gc lC nu cin ed b a k t . : 3 T C / 4 o ia O j n to sn e rc es 0 / ( )S { M TATI VI AT 0N : l4 C OL 1 l S: MI RA S
并且 也 执行 在互 相递 归调 用 的 函数 集 上 。
(0 函数 接 口分 析 :为 发现 代 码 缺 陷和 不 足 分 1)
析 每 个 函数 的接 口。然 后通 过 系统 调 用 图映射 接 口 信 息 , 目的是 为 了关 注集 成后 可能 产生 的缺 陷 。
4 运 行静 态 分析 项 目查看 测试 结果 )
通 过 LDRA Te t e s b d对 以 下 C 语 言 代 码 进 行 静 态 测 试 并 选 择 编 码 规 则 为 M IRA—C。 S
man) i( {
i t a 1 b= 0,= 0, n z , c d= l Z ,; Z = a & & b:
图 1 程 序 流 程 图
z = a && b:
/ ( )S M TATI VI AT1 C OL 0N : 1 S: I RA l4 M S
3 ,6 ( n f: x r s n i n tB o a . 1 T a / 5 3 O e o )E p e i S o o l n :6 so e
3 ,6 ( e o )E p e in i n tB oe n :6 / 5 3 On f: x rs o s o o la . 2 T a
基于LDRA Testbed的民用机载软件静态测试方法

基于 犔犇犚犃犜犲狊狋犫犲犱的民用机载软件静态测试方法
周 培
(中航雷华柯林斯 (无锡) 航空电子设备有限公司,江苏 无锡 214063)
摘要:静态测试作为软件测试的重要方法,是保证民用机载软件中安全关键软件质量的关键步骤;介绍静态测试的概念和方 法 ,采 用 自 动 化 分 析 方 法 ,基 于 软 件 分 析 工 具 LDRA Testbed从 主 要 静 态 分 析 、复 杂 度 分 析 、静 态 数 据 流 、 交 叉 索 引 、 信 息 流 和 数据对象分析六大部分完成软件的静态测试过程,探究其测试原理和关键标准文件的配置,生成相应的代码审查和测试度量报 告,以有效提高民用机载软件质量。
LDRA Testbed的静态分析支持代码程序 设计 标 准的规 定,生成关于复杂度和标准违反情况的分析报告,同时解 析源代码,生成后续插桩和动态分析阶段的内部工作文件, 其原理类似于编译器执行的语法分析。因此必须首先执行 静态分析。
LDRA Testbed的静态测试结构如图1所示,由 图可知 包含以下5种分析,并且这些分析方法必须按照顺序依次 执行:
1)主要静态分析 (MainStaticAnalysis) 2)复杂度分析 (ComplexityAnalysis) 3)静态数据流分析 (StaticDataFlow Analysis) 4)交叉索引 (CrossReference) 5)信息流分析 (数据对象分析)(InformationFlow A nalysis)
收 稿 日 期 :2019 01 28; 修 回 日 期 :2019 02 20。 作 者 简 介 :周 培(1990 ),女 ,宁 夏 固 原 人 ,初 级 工 程 师 ,主 要 从事民用机载软件的测试开发验证工作方向的研究。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用LDRA Testbed对代码进行静态分析静态分析的主要操作:①分析对象选择②分析前的设置③分析项的选择与分析过程④分析结果的查看详细操作如下:一、分析对象的选择,即如何选择你的分析对象(被分析的文件);有两种方式:单个文件分析和以集(set)的形式分析,以集的形式分析可每次分析多个文件1.单个文件分析选择打开程序LDRA Testbed,点击Testbed的菜单File select file 通过文件浏览窗口打开文件要分析的文件,如C:\LDRA_Workarea\Examples\C_testbed_examples\Testrian\Testrian.c 。
点击select之后,可以在工具快捷按钮栏的下方看见目前选择的文件2.以集(set)的形式分析选择①创建集合(set),设置集合属性打开程序LDRA Testbed,点击Testbed的菜单Set Select/Create/Delete Sets 弹出set创建窗口在图中上部的Select/Create Sets区域写入set的名字,然后点击下部的Create按钮创建set,此时会弹出set的属性设置对话框,有两种属性可以设置”Group”和”System;”此两种属性的区别:Group 只是把set中的多个文件孤立的分析,不会分析文件间代码的相互关系,可作为批量分析使用。
System把set中的多个文件作为一个工程来分析,能够分析文件间的代码的关联,一般都会采用此种属性。
Set创建之后可在窗口中确认如下:其中demo为set的名字,system为set的属性,(0 files)代表set中目前没有文件②向集合中添加文件点击Testbed的菜单Set→List/Add/Remove Files in Sets 弹出添加文件窗口点击图中的Add按钮,通过文件浏览窗口可添加多个文件到set中。
二、分析前的设置在分析前需要对工具进行简单的设置,主要包括用户头文件的设置和编码规则集的设置。
1.基本的静态设置,包含头文件和编译宏设置。
点击Testbed菜单configure→static option,弹出static analysis optin对话框,在选项卡Include files中的内容是对头文件的设置,可关注的设置有,“Analysis Include files” 区域设定头文件的展开方式(即分不分析头文件),建议选择第二种Analysis the first instance of each found include“Interactive include file analysis” 区域设定代码中出现头文件包含语句时,工具与用户的交互方式,建议选择第三种Display dialog only wheninclude file not found“Include Search Directories” 区域设置用户头文件的查找目录和系统头文件的处理方式按钮Search Options可设置用户头文件的查找目录,可通过浏览方式添加目录按钮Systen Include Search可设置系统头文件的展开方式,建议设为Don’t Expand在选项卡macros中设定用户代码编译宏的处理方式“sysppvar” 区域是对编译宏的定义设置,对于在编译命令中定义的宏,而在代码中使用此宏影响代码的编译的情况,需要用户把此宏添加到工具的设置文件中,可点击Edit Default按钮打开文件sysppvar.dat,在此文件中添加相应的宏定义,宏定义的方式可通过点击蓝色的Example显示样例;“Interactive conditional Preprocessing Options” 区域是设置针对代码中未识别的宏的处理及交互方式;如果选中” Interactive Preprocessing”,当出现未识别的宏时会弹出对话框,让用户定义此宏,如果不选当出现未识别的宏则不弹窗口;”AutoMacro”设定宏的自动定义处理方式,”Enable – promt for macro vaule” 弹窗提示并让用户指定宏值”Enable – no promt, use default” 不弹窗提示,使用默认值”Disable – stop static analysis” 弹窗,并停止分析2.代码评审报告设定。
在Testbed菜单configure code review report options点击,弹出code review report 对话框.在选项卡Report based Configuration中”Programming Standards Model”区域中选择你要生成编码规则检查结果报告所使用的规则集的名字;在”Additional Detail for each Standards Violation”区域中设定在代码评审结果报告是否包含原代码行号和格式化后的代码行号。
在选项卡Data Files中可以实现对编码规则集的定制,在”Standards Model Editor”区域点击按钮”Launch Editor”可以打开编码规则图形化定制的画面其中列代表的是具体的规则条目,行代表的是规则集的名称,通过选择框的选择可以把某条规则包含或剔除到规则集内。
3.质量评审报告设定在Testbed菜单configure→quality review reoport options点击,弹出quality review report 对话框,在”Metpen configuration”区域可以设定质量评审报告中每个度量元的上下限的阈值,即可定制质量模型以便生成质量评审报告,点击” C:\LDRA_Toolsuite\metpen.dat”后的”Edit”按钮,可打开质量模型配置文件,修改此文件中度量元的上下限阈值即可修改质量模型。
4.数据对象分析报告设定。
在菜单configure→data object analysis reoport options点击,弹出data object analysis configuration 对话框, 设定数据对象分析报告中显示的对象范围。
三、分析项的选择与分析过程在Testbed菜单analysis select analysis点击,弹出select analysis 对话框,在此对话框中选择要执行的静态分析项:main static analysis、complexity analysis、static data flow analysis、cross reference、information flow analysis、data object analysis,然后点击start analysis 按钮进行分析。
四、分析结果(报告)查看1.单个文件结果查看点击Testbed菜单Individual results可看到下拉项Source code、Text results、Graphical results分别显示了分析结果,这三个下拉项均可展开,便于用户查看详细的分类结果。
文本化的分析结果:图形化的分析结果2.集(set)的结果查看点击Testbed菜单Set results可看到下拉项Text results、Graphical results分别显示了分析结果,每个下拉项均可展开,便于用户查看详细的分类结果。
3.报告内容介绍报告内容文本报告Analysis scope report 分析范围报告Test manager report 测试管理报告,主要包含代码评审和质量评审的总体结果Code review report 代码评审报告,包含编程规范检查的违反情况Quality review report 质量评审报告,包含每个函数的清晰性、可维护性和可测试性总体指标,以及质量度量标准的每项度量值(格式化代码信息、函数信息、函数注释信息、注释与可执行代码比例信息、复杂度信息、霍尔斯特德度量信息、循环嵌套信息、LCSAJ及不可达代码信息和数据流信息)Design review report 设计评审报告,包含函数的入参及返回值的信息Reformatted code 格式化后的代码,可以查看规则违反情况LCSAJ report LCSAJ报告,包括代码中的LCSAJ的数量及划分细节LCSAJ test case planner report 此报告以函数为单位列出LCSAJ的详细情况,并给出执行此LCSAJ所有满足的条件,可指导用户设计测试用例增加LCSAJ的覆盖率Data flow analysis report 数据流报告,包含变量的使用异常、函数接口参数、全局变量和函数调用关系Procedure header comment 函数头注释,可以自动生成函数头注释便于用户使用User defined type report 用户自定义类型报告Cross reference report 交叉索引报告,包括所有数据项的分析,类型属性Information flow analysis report 信息流报告,对函数中变量的依赖关系分析,包含强依赖、弱依赖、条件依赖,强定义、弱定义Data object analysis report 数据对象报告,根据单个或一组对象信息获取此对象的所有数据分析情况图形报告Static callgraph 静态调用关系图,反应函数的层次及调用关系Static flowgraph 静态控制流图,反应函数内部的控制流程Standard kiviat 标准kv图Clarity kiviat 清晰性kv图Maintainability kiviat 可维护性kv图Testability kiviat 可测试性kv图Static bar charts 静态柱状图基本结点基本复杂度结点复杂度最大嵌套深度第1层间隔数目基本块可执行格式化代码行函数注释。