嵌入式弹载软件代码审查方法研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:wangwuhua123456789
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文从一般性代码审查出发,对代码审查过程进行论述,指出嵌入式弹载软件着重需要考虑的审查内容和方法,对发现软件问题,提升测试效果,提高软件质量有一定的参考价值。
  关键词:嵌入式弹载软件,软件测试,代码审查
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)10-0240-02
  Abstract: This paper shows how to do document inspection and code review, demonstrates steps in designing test cases for initialization, system fuction, interface, boundary, surplus, security and strength. In particular, it highlights the points that should pay more attention to in the testing of embeded software running on missiles and the corresponding test method. These have some referential value in debuging and in improving the quality of software.
  Key words: embeded Missile-loaded software; software testing; code review
  1 概述
  软件测试是将软件交付给客户之前所必须完成的重要步骤,在软件的正确性证明尚未得到根本验证情况下,软件测试仍是发现软件错误(缺陷)的重要手段[1-2]。通过测试发现软件缺陷,为产品质量和评价提供依据。对于嵌入式软件,代码审查是发现软件问题的重要手段,而且代码审查实现在动态测试之前,从节约测试资源和提高测试效率来看,做好代码审查工作,是发现软件问题,提高软件质量的重要环节。
  在航天航空领域产品中,同一系列的软件有着相同或相似的专业背景,可应用于不同型号,软件的代码可重用率较高,或者是实现的功能类似可借鉴率比较高。在一个型号做完代码审查后发现的错误,可以举一反三应用于其他项目中[3],从而对同一领域中的代码审查工作进行相关总结,对后续其他项目的开展来说,可一定程度提高效率。
  2 代碼审查过程
  一般性代码审查:作为嵌入式软件特别是弹载软件测评,代码审查是检验软件问题的重要手段之一,主要检查代码和设计是否一致,并配合静态分析工具进行相应静态分析,从某种程度上筛选一定量的代码错误。
  弹载软件的代码审查工作一般结合代码审查单进行审查,可从以下几点易出错的情况检查代码的正确合理规范性:企图读取未初始化的变量,对空指针和越界指针的引用,对超界限数组的访问,非法的算数运算(除零错误,负数开方,)整数和浮点数的上溢出或下溢出。多线程应用中未保护数据的访问冲突,不可达到的代码。
  在弹载软件测评中代码审查除进行一般性代码审查外,还需要结合弹载软件特性,有针对性地进行特定审查,可从如下几方面考虑。
  1)初始化检查
  初始化若不正确,定将影响到后面具体功能。初始化工作包括CPU初始化,外设初始化,数据初始化。
  定时器初始化,查看定时器控制寄存器配置,周期配置是否正确;
  关键变量初始化:各关键变量初始值设置是否合理,比如系统默认工作参数初始值,故障标志位初始值等;
  中断初始化:包括中断触发方式,中断优先级,中断使能,中断通道映射等设置是否正确。
  接口初始化:对于弹载软件可从串口通信、CAN接口通讯、1553通讯进行审查。 串口通讯查看波特率、字符格式和校验位初始设置是否正确。CAN接口查看接口参数中CAN控制器设置是否正确(BasicCAN模式和PeliCAN模式)。1553通讯中查看发送、接收地址,发送接收传输方式设置是否正确。
  其他初始化要求:若需求中有对初始化的量值的具体描述,需按要求一一审查,比如对D/A,D/O,RS422,GB289A等初始化特殊要求输出。
  2)系统功能代码审查
  系统功能的代码审查是指依据设计方给的需求、任务书、数学模型等,从功能方面检查软件的实现是否与需求和任务书中要求的一致。这个是整个弹载软件测试的核心和重点,依据软件不同功能,基本可分为弹前自检、准备、激活、发射阶段的功能检查和弹离架后飞行控制功能检查。在整个飞行过程的各阶段还需验证软件和各子系统数据交互是否正确,且与任务书和数学模型及接口协议等要求保持一致。
  3)通信接口代码检查,
  接口代码审查的工作主要在于外部接口,外部接口指系统外部和其他设备有通讯的接口。主要依据设计方出具的接口协议,进行一一检查。包括数据交互速率、波特率、数据交互周期、交互吞吐量确认其设置是否正确;
  对于异常数据包处理,查看软件在异常帧情况下是否处理得当,软件是使用默认值还是使用上拍保留值。
  对于帧头,若接收缓存为循环队列时查看是否使用长帧头,或帧头是否设置合理。对于帧长度,若有定义则建议识别,需注意接收缓存的数组长度定义的匹配性,以防止溢出。对于帧内容主要指命令字信息和数据信息检查,接收数据时审查数组数据计数变量的复位、清零等是否合理。对协议中各字段字节内容,所表达的定义,比例尺、量程,进行逐一验证,查看数据内容和比例尺是否能正确表示数据量程,注意数据接收后拼接过程是否能正确表达正负数、小数,是否能表达所要求的最大量程并符合协议的要求。还需特别注意数据是否需要限幅。对于帧校验,需查看检验方式是否正确,双方对于数据校验的约定是否一致;起算位是否一致。对于通信周期,需注意用户自定义通信数据包周期需与硬件环境相匹配。   4)性能方面检查
  性能方面的检查包括任务书需求等要求的时间特性以及超时处理的相关安全处理措施的检查。
  對于时间特性,很多情况下按照周期次数实现的,比如弹动后x(ms)进行某操作,主函数一个调用周期为y(ms),那么在程序中实现为x/y次,在边界处理上要留心细致。在使用周期计算时,要注意具体使用的哪个周期,从而判定是否符合具体要求的时间界定。对于含中断的弹载软件,需要检查定时中断的周期等重要参数。
  5)边界点检查
  对于弹载软件的边界点检查可从以下两方面出发,关键状态转换边界的检查:比如点火条件,离架条件;功能界限的边界检查:如弹飞后转阶段的各条件边界,它是考察的弹载重要指标和条件。
  6)安全性检查
  数据安全性检查:检查软件对关键数据进行校验、保护,如防除零保护,剔野保护,输出参数保护如舵输出、各电压值输出等以防止损害硬件;
  功能安全性检查:对于嵌入式弹载软件着重查看弹动保护,点火保护,火工品保护等重要处理是否设计正确合理,对关键信号是否进行了复位操作;为防止软件跑飞,查看软件相应看门狗保护。
  接口的安全性检查:检查是否有通信握手,通讯超时处理、通讯周期匹配,通讯故障设置是否正确。
  3 工程应用
  项目组使用本文提出的代码审查方法与传统的方法进行对比,通过对多个型号弹载计算机软件进行测试,对比结果如下表所示:
  通过对比可以看出,本文所提出的代码审查方法可明显提高测试质量和测试效率。
  4 结束语
  以上就系统初始化,系统功能,接口、性能、边界、安全性对嵌入式弹载软件中代码审查工作作了论述,有利于测试人员在测试过程更快适应相关型号测评工作,从而进一步做好嵌入式弹载软件测试,以提高软件质量及其可靠性。
  参考文献:
  [1] Ron Patto.软件测试[M]. 张小松, 王珏, 曹跃, 等,译. 北京: 机械工业出版社, 2006.
  [2] 柳纯录. 软件评测师教程[M]. 北京: 清华大学出版社, 2005.
  [3] 张建飞.基于航空领域嵌入式软件代码审查的研究[J]. 科技创新与生产力, 2015(10): 108-109.
其他文献
通过噬菌体十二肽库,以隐丹参酮为靶分子,筛选与隐丹参酮具有高亲和性的结合短肽。经过噬菌体十二肽库的3轮淘选,获得阳性噬菌体克隆,挑选结合力强的克隆进行测序,得到隐丹参酮的
摘要:通过研究在建平县增施商品有机肥与减施化肥的不同施用量及对花生生育性状、产量等的影响,筛选出最佳的商品有机肥及化肥施用量,为化肥减量增效技术在本地区的全面推广提供数据支撑。试验结果显示:施商品有机肥80kg/667m2+硫酸钾性螯合肥32kg/667m2的施用量可以促进花生生长,且产量最高,达330.52kg/667m2,增产157.71kg,增产率为88.00%。  关键词:增施有机肥;减施
摘要:为提高玉米种植产量,提升玉米种植质量,克服不利气候因素对玉米高产的影响,实现农业增产、老百姓增收。凌源市持续加大对对玉米、水稻、蔬菜等优良品种的试验示范,切实取得不错的良种推广效益。在扩大效益的同时,新品种玉米试验示范中也遇到诸多问题,就此下文提出了针对问题的解决措施和建议,组织好现场观摩,为新品种推广搭建平台;做好推广人才培训,承担起种子推广重任;创新良种推广方式,调动社会购种积极性,以期
有调查显示,在同等价位的冻肉和鲜肉里,80%的中国家庭会选择鲜肉,这其中,又有60%的家庭会在采购鲜肉后放进冰箱里冷冻。其实,现在这种大型超市买到的冷冻肉,它的口感在理论上
<正>~~
期刊
先天性巨结肠是小儿外科常见消化道畸形之一,其手术技术已经相对成熟,但仍有少数患者因术后中远期并发症而接受再次手术。本文回顾近年发表的相关文献,并结合自身临床经验,对
1投石问路长期以来,拖欠电费、窃电、危害电力设施等现象一直困绕着厦门电业局,电业局也曾采取过许多解决措施,如当场告知法律后果或发出书面催缴电费通知书、停电通知书、窃
关于公证权力属性问题,司法部早在1994年下发的<关于我国公证制度和公证效力的复函>中就已经作了解释:"一、我国公证制度是国家司法制度的组成部份,公证处是行使国家证明权的
摘要:通过变量施肥插秧机和常规侧深施肥插秧机对比分析其对水稻生育期、秧苗素质和产量的影响。示范结果表明:变量施肥技术可使秧苗返青期、始穗期、抽穗期、齐穗期、成熟期均较对照提前1d,两个试验点平均理论增产13.2kg/667m2,平均实收增产10.1kg/667m2,同时提高了作业效率20%左右,可节省人工投入成本,并实现精准施肥,两处试验点平均节约肥料用量3.45kg,中化侧深施肥专用肥3.34元
&#39;互联网+教育&#39;是将互联网技术与传统教育模式进行融合或者实现传统教育的互联网化,从而完成教育改革的目标.该文依据&#39;翻转课堂&#39;的教学思想,结合医学高专院校