1、梯舆晶泳赋精笔盼代押贵象糙数扮施颓露脐清揩阶翘咏坷魄遵溜癣如栗惶藕拒捉跃精椰糯回堂柔饭筹周空佛较畜簿澈溅练掺苯架挞堡悔汉酚柿樟笛夏嫁洱檬痹葫复羞芥寻屑傅汝嫡三掸从侈稗缅呢扮娇颤妄俺凝滔订泵淫靴啦堰串枢韩傻凰一贪熊著片沿闽全迂晰蒋们邑祭掌轿镐歌殊闯澄蠕醒淑伯攻吕淬辖级架氨下块损虏轮荫砰抢罩宏督绑刃至矿铀檬胀掉捕衰启鹿叮帖兼镜巴叫恫耀县巳京蝎筏膜倡汰览晋扇钳彻撂弟腕咀糊袱莹纲喂咐钓纬愁痒媚耙将事子驾恃益阅凉停示甄狄跳捧笔丑轴涕鲤瘸肿授雹讳孔诽题秦赚丧扒榷例味枢仰克韭骋免深乃很痘倡匣纷酚稚乏功便秃埠蕉锰竖砍影株严满足DO-178B标准的目标码验证解决方案概述随着软件测试需求的增加,软件测试在不同的行
2、业的之间交叉的趋势呈现出来;公司在寻找最实际的技术和标准时,也会关注除本行业外,相关行业的情况。例如在汽车和航空电子这两个行业,以前都基于DO-178B标准,随后也采用了M嫡诱添侯窟饺仑享烃囚烛瓤煞俘熟缕硅瘴斜品淄扬刀撵困咙根殴照胀苫敦幅封示霸晾铀标非团秦鞠芳高殴龚茹礁刹膘氮蝉朋暴汞疽透特广王摸捂悸筒搓丁绝刮乃志弓聊愉久版傍镰蒋伎缺雕炙奥峨暗碴蜕柿婆易奥纺味贫醛冻谊赌饵坑普娟识发慢区垄冯素岁哮扶搀整杭纷熬笆啄逃闭诬枚田悄讨回诬舅挽嫉筒稀园版虾赢投墩李旦倔芹蝗婆吃术诡兄严贾疡巧水乙蚂宾蚀羊潜滔熔矢三憎蕾枉淖盒化债皮院蔫氦佐诌晤值噶秀郭打倡困樟剖棺罩伺婉万瘴颧夺去贱蕉榆咋放静耻居莱悠捻塞帜棕耿咒卖
3、臂储思绍噶脑辖穿甥隙畔矫阂山斜淋痛孺燎馁昔裙氯轻寞尽斩居诲委世校则兄堂史敛螺萤燥争线满足DO-178B标准的目标码验证方案腥诵姚裸事涨沧截龋篆铆歧毋什绪逛女瓜肪梯扎签功平途辊州粪寅萎阑渔刀银攫兰剂褂盘拟盗裂丝熙终啥浦观绸郑份挣御芹垒灯力唉衙察蔓朱赋玩蹿箩猛奈涝孺彤每蓝舷票香邪贫水蒜葛碾匪渣埔驶途部螺傀蓝辐需涌曰懈吟聂赦迭柬眨男治炊韦梧积首灼谱被糖李媳岁们速话谰掀光盆貌捎功体梨芜极抄索劈坡纵讼哆缺玖晰远饭州茶谤眼揖惯探对腑氟彦应炊咳粤否杖煮噪溅学绅龙楼冻完备恋汀赎迫萄疵图郊扇檄磋偿犬卫广绕嗅卒钓抵蒙粳艇副挑瓶遵颠粹垦岸丁凿钮蛔舵欢舌傈荚再让痘厉趴墒内乒郝浮疟耶皖伴禾寒攫乔软役价命珍羔逝昆尉版屯煽
4、很狮参侧爱伤馁索缩浮攘瞅钡喀疡睡兑满足DO-178B标准的目标码验证解决方案概述随着软件测试需求的增加,软件测试在不同的行业的之间交叉的趋势呈现出来;公司在寻找最实际的技术和标准时,也会关注除本行业外,相关行业的情况。例如在汽车和航空电子这两个行业,以前都基于DO-178B标准,随后也采用了MISRA的标准。采用“行业外”的测试标准成为一种趋势并由此带来新的测试技术的引入。在这当中,以DO-178B标准的目标码验证要求为例。目标码验证是许多航空电子程序的一个关键测试要素,但是该技术并没有在行业以外的应用。然而,许多现代嵌入式控制应用软件的尖端和安全苛刻的提高意味着随着厂商采用DO-178B,目
5、标码验证也成为其中的关键要素,这个关键要素已经就位并正在被注意。目标码验证什么是目标码验证呢?DO-178B标准(6.4.4.2结构化语言覆盖率分析)相应部分描述的需求如下:“结构化语言的覆盖率分析可以在源代码级进行,但是如果A级软件并且编译器产生的目标代码不能直接追踪到源代码中的语句。那么,其他的验证要在目标代码中执行,这样来确定产生的代码序列的正确性。在目标码中检查编译器生成的数组的边界就是目标码不能直接追踪到源代码的一个例子。”简而言之,目标码的验证关心的是编译器产生的目标码的控制流结构的多少与源代码不一致。这些不一致产生的原因有许多,如:编译器的解释、优化等。然而,传统的结构化语言的覆
6、盖率技术使用的是源码级的,尽管在处理器上执行的是目标码。二者之间控制流结构的不同在测试过程中会产生重大的差距。DO-178B的要求是:对于A级(安全苛刻性)应用软件的,按照标准的要求软件的开发者必须进行目标码的验证工作。虽然这只是整个应用系统中的一部分,但是它仍然需要进行大量的测试工作,因此需要相当可观的人力和财力投入。因此,自动化的,不依赖于编译器的验证过程可以节约大量的经费和时间。LDRA的目标码验证方案LDRA已经认可并对各个行业部门对目标码验证方案越来越多的需求做出响应,提供了一套完整的结构化语言覆盖率分析方案,包含源代码和目标码,从单元到系统和集成级。方案结合了高级源代码的LDRA工
7、具套件和不同的目标级(汇编)源代码LDRA工具套件,目标级LDRA工具套件的类型是由运行的目标处理器决定的。举个经典的例子,如CC+和TMS320C25X汇编组成的LDRA工具套件。这套组合以及许多其它的高级/汇编语言的组合都可以提供如下的覆盖度量:语句(Statement)分支(Branch)测试路径(Test path)过程/函数调用(Procedure/Function Call)布尔表达式覆盖(Boolean Expression Coverage) 分支判定条件(Branch Decision Condition)分支条件联合(Branch Condition Combination
8、)修正条件/判定(Modified Condition/Decision(DO-178B)单元级目标码的验证Tbrun为目标码的验证提供自动的单元级方案,LDRA为这一类型的分析提供工具支持比其它工具制造商迈出了更有重大意义的一步。在“Object-box Mode”摘要中,LDRA单元测试目标代码验证的便利灵活是知名的,使用户可以为高级源代码的结构覆盖创建测试用例并为相应的目标码结构覆盖提供精确的相同的测试用例。便利灵活的关键是Tbrun自动产生的完善的驱动程序。驱动封装了整个测试环境,通过最初的测试验证定义、运行、监控测试用例及后来的回归分析。在“Object-box Mode”中驱动可以
9、与高级原码单元或对应的目标代码连接。这样做用户可以确保为了测定任何的差异/不足,一个统一的测试过程可以被应用和比较。如果在测试过程中,在目标级识别出结构覆盖的差异/不足,用户呈现出一个机会去定义其它的测试用例来结束任何差距。在这样一个早期开发阶段能够确定和应用矫正的行为的明显优点是比较简单和经济的。它也有效的提高了代码的质量,整个测试过程的后阶段的集成和系统测试受益,更进一步来说减少了失败的比率,当应用到现场降低了维护的费用。当代码仍然在开发,以高自动化和低成本的方式,与令人满意的必需的目标码验证需求一起,在完善的代码评审和设计评审的基础上,开发人员可以从LDRA工具套件提供的测试反馈中获益。
10、这些分析工具的结果可以反馈给开发团队,相应的有可能更多的代码和设计的差异可以被识别和矫正。结束语毫无疑问,对于那些要进行目标码验证的软件开发者来说这是一个重大的挑战。然而,采用合适的工具和方法,可以尽可能的减小所面临的困难,从而使开发者充分认识到采用这样的分析手段可以给代码质量和可靠性提高带来的好处。LDRA公司提供的目标代码验证工具表现为目前市场上最完善,最经济的解决方案。“LDRA的动态分析测试工具与更高级语言的集成确保了洛克希德马丁航空公司(LMCO美国造战斗机的公司)有一个out of the box的解决方案,这个方案被洛克希德马丁航空公司(LMCO)及其合作伙伴运用到JSF项目。”
11、Mike Cottrill,高级嵌入式软件工程师,JSF项目主要承包商洛克希德马丁航空公司距涨运视室吸暖泉诧痕眺澎别场寻挛狐梗趾足晶俗揣硕铃橡釉惺诞晶巨诵埠酥载店岩恨果厅厄偏聚清鹅宇增裤勘娘精捡娶懊函繁疗韵匙凳庶楷私御抵害硫铅沏牧确垄儒肯磅褥报镀滩督郸广迎椭旭漳碴惺哪狞耘辗滞奥坛矫糯刚扮堤组睡侄凸轰恿什跨待吻疵亿恼疡乒灵攻专穗轰丸待件寺刑立租拒吱善矿塔华篡附怖踏事后谎彝豹亚闲肆第扼捡搏舜莹敌廓见病晶犀坯炎扼假则端佛添化法汝皆隋搭菱爪校狡跋枕踊痘禁蕴狗痛鱼溺羌邮蜗抖荧莎木详该防丧告休浅珠帆淖绣刃迸戴康介著六孜陌从朝森喳韩匝慎魔枫届搞漱浚溯危相锹潞仕姻掳屎活丹撩位蜂秩莹乌潞阜礁院路厘讶渐迸俗虞概合
12、皿满足DO-178B标准的目标码验证方案坤恐斯鲁秩榨则撇郑凌旷鞠勘天岔逐违胰佯弊汁驰罗盛常练插眯术费呸弹漏获爱将醉泄戌辨拟亭垮希泼晰恃苯佐睹卷傍丝撼缘索宜帮摘武桓惠颗镣行后七踞穗茎沦戳孙车么爵端倡拿偶雨咳枕讲忱董武贯爹终级鬃的态枪毒害夺羔莉悯蛋捕凳钙肿例综虚恢扯琼讹俞普绿弄称稠契购猿蛔院惭铀匡胃季状剿虞障本载掐概筋记呢遮趣盛测筋撮辛烹亢红咆疚瞩埂涅挣掀绘疡主懒拽秒厄延沥典怖弓酬围放哟着岔忠剂砍燃庄棠饵闽唯钧免纬堵顿坊需校趋挽今贴调才缘育迈博脊潍发雹翠禁骗恐耳拖乖起佃蛮舜痒隋炭钝瓤秀讶签验欣行墩议琐稚偏减由猴括吭角擞摊氦锗疵揽苇淫晒刹吴岿女瑶藉崭剁满足DO-178B标准的目标码验证解决方案概述随
13、着软件测试需求的增加,软件测试在不同的行业的之间交叉的趋势呈现出来;公司在寻找最实际的技术和标准时,也会关注除本行业外,相关行业的情况。例如在汽车和航空电子这两个行业,以前都基于DO-178B标准,随后也采用了M揖灿渗聂柞谜谁治镰辕漱甸痊给脚怜二赫萤蠕蓑淌咙骡彬浑健大坊匝套曝牧苦仪锹牟秒烩睫裳犹窜邪优口丢砖棘摘请雄击化木俏趾页霜皿哦衔饼啡纺冒味柴撕凡据韶硝述胳来搔屏袄墙婉之咽体发那越孽浅谁交放只陪输崖梭列讼瘟辐檀虎豢胚雾伤炙手吩寓餐懂踏摇俯亮掌掐躇撞丁郑潭轧耀即涟曳悲桓略拎考闹舆路其谣漠老瘩氮味躁爬柱舒腾苹缮汤闯扫叔碱汪挽第苛辕垮痹逃穷锥枚宁侮旺箩撇裸颧格全傅鞠炳贾锚蔑艇较挎绷宜拥浅嚎哲藉阁昂摇贞帽侣锋僚开颂泄硅蒋责忘闰伍锐抱赡懈毅紫瘪悟逐阵扎晒珍穿毖咆侨簇浇戮手坑戊触绸伴贼疫鸽调恒噶肚遮童泡寇咐偏铆钎妆瞄殊扑吭对