版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何使用testbed进行编码规则的定制和检查本篇文档主要介绍如何利川ldra testbed进行编码规则的定制和检查,同时结合tbaudit中文报告生成工具生成中文质量报告。使用testbed进行编码规则的定制和检查ldra testbed提供两种方法定制编码规则:一种是通过编辑编码规则文件cpen.dat/cppen.dat实现;一种是编辑creport.dat添加口己的规则集,卜八血我们分别介绍。(一)编辑编码规则文件cpen.dat实现编码规则定制1. 启动testbed,在01e菜单卜选择select file选项,选择要分析的文件;选择好要分析的文件,点击select按钮完成。2.
2、 点击菜单栏中的configure,在下拉菜单中点击static options选项,将会出现如下窗 口,点击cpen.dat后的edit按钮,按照提示编辑cpen.dato若存在已编辑好的编码规则文件, 可按旁边的浏览键直接指定该da(文件,则下面的3、4、5步可以省略。static configuration3. 使用编辑工具中的列模式将第10列全部置为“os “(t代农该条编码规则无效。433123456789101112131415162000200standards text must be 50 chars or less. s ref1 s procedure name reus
3、ed.2 s label name reused.3 s more than * executable reformatted lines in4 s procedure exceeds * ref orixiatted lines.5 s empty then clause.6 s procedure pointer declared.7 s jump out of procedure.8 s empty else clause.9 s assignment operation in expression.10 s not used11 s no brackets to loop body
4、(added by testbed).12 s no brackets to then/else (added by testbed)13 s goto detected.14 s procedural parameter declared15 s anonymous field to structure.16 s multiple labels declared.4. 按照规则的中文描述,将少z对应的英文编码规则所在行该列置为“1”,代表该条编码规则有效。比如某单位编码规则“4丄1过程/函数名禁止車川”,通过比对编码规则文件,发现规则1与之対应,就作如下修改:4331 1standards
5、text must be 50 chars or less. s ref line number, s01 s procedure name reused.gjb4.1.1.15. 以此类推,编辑后的编码规则文件如下。433standards text must be 50 chars or less s relline number, s1101sprocedure name reusedgjb4.1.1.12102slabel name reusedgjb4.1.1.23020003smore thanexecutable reformatted lines infile.402004sp
6、rocedure exceedsreformatted lines.5105sempty then clause.gjb4.3.1.16106sprocedure pointer declared.gjb4.4.1.37107sjump out of procedure.gjb4.5.1.18108sempty elseusegjb4.3.1.39109sassignment operation in expressiongjb4.6.1.1100010snot used111011sno brackets to loop body (added by testbed)gjb4.2.1.212
7、1012sno brackets to then/else (added by testbed)gjb4.2.1.3131013sgoto detectedgjb4.5.1.2141014sprocedural parameter declaredgjb411s151015sanonymous field to structuregjb4113161016smultiple labels declaredgjb41146. 同时,整理出对应的中文编码规则文件(tbaudit使用),以上为例,按gjb排序, 无用的规则去除。433standards text must be 50 chars o
8、r less. s ref line number.s source line1101s(ldra)过程/函数名禁止重用gjb4.1.1.12102s(ldra)标号名禁止重用.gjb4.1.1.2151015s(ldra)禁止在结构体定义中含有空域.gjb4.1.1.3161016o(ldra)禁止声明多董标号.gjb4.1.1.4141014s(ldra)尽昼谡免将过程/函数定义为替数.gjb4.1.1.5341034g(ldra)在过程/函数声明中必须对去数也明.gjb4.1.1.66110373(ldra)荣止过程左数只有类型没有标识符gjb4.1.1.7651041s(ldra)禁止
9、在过程/函数参数表中使用省略号gjb4.1.1.8691045o(ldra)禁止重新定义使用ch关键字.gjb4.1.1.98710630(ldra)禁匕过程/函数中参数为空.gjb4.1.1.101001076s(ldra)禁上在去中使用多个律或翔gjb4.1.1.111011077(ldra)禁t:定义不猿函数的宏.gjb4.1.1.121031079s(ldra)禁匕不怆当的宏定义.gjb4.1.1.131101086s(ldra)禁 11二重新定义保留字.gjb4.1.1.141131089s(ldra)字符类型必须标明为是有符号或无符号.gjb4.1.1.151151091g(ldr
10、a)禁止在不同禽名玻使用相同名字(hr).gjb4.1.1.167. 点击菜单栏中的configure,在下拉菜单中点击quality report options选项,将会tli 现如卜窗口,在 programming standard model b 拉框屮选择 “ standard ”。&点击菜单栏中的analysis,在下拉菜单中点击select analysis,将会岀现如卜窗口,选择前3项,点击start analysis按钮,开始进行静态分析。9.静态分析结束丿舌,点击菜单栏中的individual results,选择下拉菜单text results中 的quality
11、 report(html),査看质量报告。(二)编辑creport.dat添加规则集合1. 启动testbed,在08菜单卜选择select file选项,选择要分析的文件°2. 点击菜单栏中的configure,在下拉菜单屮点击quality report options选项,将会岀 现如卜窗口,在0ptional configuration页而点击edit,按下而的提示编辑creport.dat |迥, 若存在已编辑好的.dat文件,可按旁边的浏览键直接指定,则下面3、4步可以省略。3. 在文件开始部分加上我们要定制的规则集合名称,比如加上一个“vision”的集合,rstand
12、ard,rcustomer samp leftrrmisrarr”dera”rrvisionrrrrvsosrr rrmisra-c2,r rrav:m:sh all,r rrav:c: willrr rrav:0:shouldrr4. 在下血的规则部分,要在"vision”规则中加入哪-条,就将该字符串拷贝在后面, 如下所示:n =# static analysis standardsisc rrmisrarr "dera” "vision”# procedure name reused.#2 s m rrvsosrr# label name reused.进行
13、上述操作后,“vision”这个规则集合屮就出现了 1s这条规则。5. 以此类推,按照耍求编辑完crcport.dat,同时,整理出对应的中文编码规则文件(tbaudit 使j )o6. 点击菜单栏中的configure,在卜-拉菜单中点击quality report options选项,将会出现如下窗口,在programming standard model下拉框中选择新的规则集合“vision7. 点击菜单栏中的analysis,在下拉菜单中点击select analysis,选择窗口中的前3项, 点击start analysis按钮,开始进行静态分析。8. 静态分析结束后,点击菜单栏屮的
14、individual results,选择下拉菜单text results中 的quality report(html),查看质量报告。使用tbaudit生成中文质量报告1. 启动tbaudit,新建项目。如图,选择主菜单/文件/新建命令,出现新建项目窗口。首先,为新项fi命名,第二步,选择当前分析的testbed标准信息文件sif文件和使用的屮文编码规则文单个文件:表明当前分析的是单个文件套文件:表明当前分析的是多个文件的集合testbed文件:根据上面选择的模式,指定相应的信息文件。若选择套文件模式,则选 sts文件;若选择单个文件模式,则选sif文件。编程规范文件:选择您刚才定制的中文编
15、码规则文件*pen-dato当项目创建完成后,系统主界而上会显示出该项目的组成模块文件,如下图:嚓 tbaudit文件g)工具 配置c)帮助)1 a 1 金丨却项目|b “e3 testm d:c_t estbed_730examplescjestt2. 选择主菜单/工具/度量模型设计器,将帅出度彊模型配置窗1丨。可实现模型的新建.编辑设计、删除、模型的导出及导入等功能。选择默认的visionmc模型,关闭窗口。b度量模型导出凶 i 号入q) |3. 选择主菜单/工具/报告模板设计器命令,将弹出度量模型配置窗口,可实现报告模 板的新建、编辑设计、删除、模型的导出及导入等功能。选择默认的text
16、report模版,关闭 窗口。4. 选择主菜单/工具/代码评审命令,将弹出代码评审窗口。其内列出了主界面上选中 的项1=1模块的违反编码规则记录,该违反的编码规则是否是真止的错误或潜在的错误,评市 人员可选中审核确认,及加以注解。选择“全选”,关闭窗口。回図f testrian an ansi c triangle example v ttnclude h>void equakidedirrf ijntkjnt ” match)iff iil *ma(ch;iff ik) f&ch; "match:;if( k««f) "match,* m
17、alchf tnatch;void prirrft>peiri ijnt |>1 k>it match) h match = 0) goto fl.efceiff match 1 ) goto 2 efceiff match “ 2) goto g; ekeiff match 3) goto k. goeqd,11:曲牛*) goto rx&jn;<0*叙 ®i) goto not.ltaldfw 识"i分析标准规期smandatoiy line vioiabonstabc(ldra»止使用某些头文件的内容.2misf 175 sm
18、andatory line violabonstatic(lorafi数名以大塔字母开头4090 smandatoiy line viotabonstabcldra寒量遊免使用基本类型定义.4misf0168 smandatory line violabonstabc(ldrafi数中参数如为只读应当为窜最4090 smandatory line violabonstabc(ldra寒量遊免使用基本类型定义.4misf0168 smandatory line violationstatic(ldrafij数中参数如为只读应当为甫星4090 smandatory line violabonsta
19、bc(ldrass免便用基本盘定义.4misf0168 smandatory line viojahonstatic(ldra因数中参数如为只读应当为有是4090 smandatory line viotebonstabc(ldrafie免使用基本矣型定义4misff31 to c 4 i a、人n noanucki /ci ccrn“鬲侏仃只7mic<d ac.te$tbed.73oe xamptexxcje>tbod.exampte$t e$tiiant estiian.c至養 j全不逢(c关闭5. 选择主菜单/工具/质杲分析命令。根据所选的度量模型,对项目进行数据计算分析,
20、产牛评价结果数据,也为生成中文质量报告做了数据上的准备,如下图。选择默认的 visionmc模型,开始分析。6. 选择主菜单/工具/报告生成命令,可输出质量评价的文档软件质量报告。将弹岀一窗口,然灰从窗口中选择默认的报告模板textreport,会提示用户输入当询生成的中文报告名,输入文件名确定,接着弹出生成报告的状态窗ii。中文质量报告输出结束后,用户可打开word文档编辑生成的中文质量报告。7. 中文质量报告具体内容如下图所示:3.2本根吿依据安全标准.2 总的jk重級述冲笑数p英文描述其他索弓p2s2(ldra)i±程/宙数名緊止広用hcjb4. 1.1. 22卩(p(ldra
21、)标号名緊止萱用丁gjb4. l1.2*2s-3(ldra)theh芬丈中荣止羌任何可执行谱句丁gjb4. 3.1. 233(ldra)禁止郴1程/函数明为猜甘矣衆,gjb4.4.1.3-s2(ldra)恭止:fi接从11程/函数删1岀gjb4. 5.1. 2卜sq3(ldra)else分支中茎止无任何可机行谖句gjb4. 3.1. 3-s2(ldra)m止左非舉值农达氏中便用戏值锲作符.gjb4. &1 212s3(ldra)uoop循坏休必须使用大括号括起来"只bed添 加)2gjbc 2.1.212*s26亠(ldra)ther<else必须便用大括号括起来(te
22、stbed添 加)2cjb4. 2.1.3-13-s25-(ldra)荼止使用goto语句.gjbc 5.1.2-233(ldra)足當避免将h栓/函数定义为师,gjb4. 1.1. 515*s2(ldra)荼止左结构体定义中含有主域gjb4uj.3q16-s-3(ldra)緊止声晞多盍存寻gjb4.1.1.4-22并2(ldra)实步与形步个数必须一致.-gjb4. 7.1. 223-s3(ldra)亲止过程/函数未祓调用.jgjbc7.1.2-25-冲3(ldra)慕止swtch话句的case中无话句gjb4.3.1.8-27qs(ldra)禁止void的适回炎型过程中有return
23、187;旬.gjb4. 9.1.2如3(ldra)在过程/函魏袴明中必须对多数说明"gjb4. 1.1.64.填程标准违反情况4.1编程标谁违反详细倩况摂块testnmc的编程标准违反濟单2餅行攻件/子銜)错误评审建议、7: if ( i=j)卄ch;*512: (ldra)ther/else必须便用大括 号括起未(testbed添加).a14: if ( aatch = 0 ) goto 11?12: (ldwther/else必须便用大括 号括起未(testbed添加).914: xf ( batch = 0 ) goto 14;13: (ldra)禁止使goto iff句.卩16: if ( match = 1 ) goto 12?12: (ldra)ihe附else必须便用大括 号括起来仃“tbed添加)216: if ( match = 1 ) goto 12;-12: (ldra)ther/else必須便用大括号括起来(testbed加)216: if ( batch = 1 ) goto 12:13: (ldra)禁止便用goto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 堆场机械维修工岗前技术管理考核试卷含答案
- 热压延工岗前理论实操考核试卷含答案
- 积材工操作知识测试考核试卷含答案
- 丝束加工操作工QC管理考核试卷含答案
- 信用管理师操作能力模拟考核试卷含答案
- 换流站运行值班员安全培训效果测试考核试卷含答案
- 柔性版材生产工操作规范考核试卷含答案
- 印花工岗位绩效目标考核试卷含答案
- 燃气轮机运行值班员岗位心理健康考核试卷含答案
- 水族造景工岗前设备考核试卷含答案
- T∕CSICE 061-2026 混合动力总成耐久性试验方法
- 初中物理八年级下册《摩擦力》教学设计
- 数学五上综合实践《小小设计师》大单元教学设计(北师大2027新教材)
- 2026年湖南中考语文试卷及答案解析
- (2026年版)中国有肾脏意义的单克隆免疫球蛋白血症诊治专家共识课件
- 家用电器产品检测合同协议
- SYT 6649-2025《油气管道管体缺陷修复技术规范》
- 2026年高考历史总复习(全国):专题训练01中国古代史部分(选择题必练100题)(原卷版)
- 2025年吉林省地理生物会考真题试卷+解析及答案
- 2026年九省联考化学答案及试卷
- 生产设备设施安全检测、维护及报废管理制度范文(2篇)
评论
0/150
提交评论