Testbed静态分析

article/2025/10/23 11:43:19

使用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分别显示了分析结果,这两个下拉项分别展开可查看详细的分类结果

 


http://chatgpt.dhexx.cn/article/mAbUIFaJ.shtml

相关文章

Testbed单元测试

在testbed中C代码中的"单元"指的是一个函数,单元测试就是针对每个函数进行测试。 在使用testbed进行单元测试前需要先确认当前使用的编译器是否正确,且current compiler和default compiler是否是一致的。如果当前编译器不正确,可点…

中山大学2019年研究生复试机试题目(数据科学与计算机学院)

\qquad 本人在2019年9月参加了中山大学数据科学与计算机学院的推免面试,将模拟机试的题目记录如下。(正式机试时有原题出现) 小伙伴们复试加油哇!!!!! \qquad 详细内容已放进网盘&am…

关于我考研的这一年随记 —— 2022暨南大学电子信息计算机技术专业初试第三复试第一

出成绩了,初试第三,复试第一,成功圆梦。这一刻,我与17岁的自己和解。四年前的遗憾终于在今天得到了圆满。这一路走来,我迷茫、焦虑、惶恐与不安,似乎对自己的执念有一股莫名的冲动和那么一丝后怕。出成绩前…

中山大学软件工程专硕考研经验(双非跨考)

我是一名双非医科大学的本科生,因为不是很喜欢这个专业,并且对计算机感兴趣(喜欢写代码),最后就决定跨考计算机了。为什么选择中大呢?说来话长,很多人可能觉得我自不量力,双非跨考还…

2023中山大学计算机考研经验分享

最新数据见:中山大学考研经验分享历年真题_N诺计算机考研 中山大学数据科学与计算机学院官网 中山大学人工智能学院:http://sai.sysu.edu.cn/ 中山大学软件学院:http://sse.sysu.edu.cn/ 中山大学系统科学与工程学院 :http://sss…

【计算机考研院校推荐】广东地区汇总-22考研版

本篇文章由皮皮灰收集 数据来源21考研,仅供22考研参考 收集招生081200 计算机科学与技术、083500 软件工程、083900 网络空间安全、085400 电子信息-计算机方向的院校 更为详细的院校信息可在后台回复获取 广东地区院校目录 1.(10558)中山大学【985/211】 2…

2023 暨南大学计算机专硕(电子信息计算机技术方向)考研经验分享

文章目录 前言数学二专业课 848英语二政治复试杂七杂八考试地点与考试方式作息坐姿群848 资料 总结 前言 2023 年暨南大学计算机专硕考生(电子信息计算技术方向),初试成绩 392 分(复试线 344 分)。非常感谢前人的经验…

2020暨南大学计算机考研经验分享

前言: 主要介绍了今年暨南大学计算机考研的相关情况、848真题的部分回忆内容、自己的一些经验教训,还有复试名单拟录取名单等第一手资料,文章很长,可以只看自己目标专业的情况和真题部分。 一、个人情况介绍 报考的是暨南大学电子…

2022年中山大学计算机考研复试分数线预测

中山大学属于34所自划线院校之一,考研复试分数线分国家线和院校自划线,院校自划线公布时间一般早于国家线,报考中山大学计算机研究生的考生,复试分数线请以院校官网公布的分数线为准! 2021年中山大学计算机考研复试分数线公布日期…

中山大学计算机考研资料汇总

中山大学数据科学与计算机学院官网 中山大学(Sun Yat-sen University, SYSU),简称“中大”,由孙中山先生创办,有着一百多年办学传统,是中国南方科学研究、文化学术与人才培养的重镇。中山大学是教育部和广…

考研 | 2020中山大学软件工程/计算机考研初试经验分享

考完很久了,心血来潮写个经验贴,由于今年线上复试,与往年形式差异很大,而且题目难易程度差异很大,抽到什么题全看运气,所以不太想写复试的经验贴,如果有小伙伴想看的话可以留言~ 1 关于我 1.1 …

321分排第二?985中山大学计算机考研超级爆冷?

大家都知道,今年计算机考研超级火爆,前所未有的爆炸,400的高分到处都是: 神仙打架!今年计算机考研爆炸实况! 但是这么爆炸的计算机考研,有没有学校爆冷呢? 网上流传这么两张图&#…

2024中山大学计算机考研信息汇总

中山大学数据科学与计算机学院官网 中山大学(Sun Yat-sen University, SYSU),简称“中大”,由孙中山先生创办,有着一百多年办学传统,是中国南方科学研究、文化学术与人才培养的重镇。中山大学是教育部和广…

2021年一战上岸中山大学计算机专硕考研经验(详细时间规划)

2021年7月29日上午11点25分,从公布拟录取名单起,等了四个月,终于从快递员手中接到了我的录取通知书,悬了一年半的心也终于踏实了,不会有差错了,是的,中山大学,我来了! 之…

Spfa算法总结(C/C++)

文章目录 一: Spfa算法分析二: 代码分析 一: Spfa算法分析 1. 问题介绍:  2. 问题分析:  当我们遇到单源最短路边权为负值问题时这时候该如何处理呢?  其实我们现在就可以使用Floyd()算法了,我们可以从两个方面来理解这个算法…

第十八章 SPFA算法以及负环问题(利用dijkstra推导出该算法,超级详细!!)

第十八章 SPFA算法以及负环问题 一、dijkstra算法的弊端二、dijkstra算法的优化1、SPFA算法(1)算法思路:(2)算法模板:问题:模板:逐行分析: 三、SFPA解决负环问题&#xf…

SPFA算法理论体系终极论证

SPFA相关详细论证 历史事件Bellman-Ford算法简述和证明SPFA的正确代码段凡丁的贡献正确复杂度分析 历史事件 众所周知,SPFA是一种对Bellman-Ford算法的优化。国内业界首次提出是1994年西南交通大学的段凡丁在学报上发表的论文。但实际上早在1956年Bellman-Ford算法…

spfa判定负环

算法思想: 我们用数组记录每个结点的最短路径估计值,用邻接表来存储图G。 采取的方法是动态逼近法: 1、设立一个先进先出的队列用来保存待优化的结点。 2、优化时每次取出队首结点u,并且用u点当前的最短路径估计值对离开u点所指向…

SPFA算法详解——判断负权环

算法核心代码实现负权环判断负权环 根据松弛次数根据最短路径上的死循环 SPFA(Shortest Path Faster Algorithm)(队列优化)算法是求单源最短路径的一种算法。它是在Bellman-ford算法的基础上加上一个队列优化,减少了冗…

(算法基础)SPFA算法

适用情景 SPFA算法一般运用在求最短路问题当中的单源最短路中存在负权边的情况(正权边如果出题人没有特别恶心去卡的话,也是ok的),SPFA算法还可以去判断图中是否存在负环。 时间复杂度 一般来讲是O(m),m就是图当中的边…