基于Sober算法的飞控软件缺陷定位方法研究

来源 :航空兵器 | 被引量 : 0次 | 上传用户:weiyuanbin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:飞行控制软件(简称飞控软件)验证与测试是保障和提高飞控系统可靠性的重要手段。软件缺陷定位是软件验证与测试过程中的重要环节,其准确性和及时性直接影响了飞控软件的可靠性。本文对面向缺陷定位的飞控软件的特性进行了分析,并针对其嵌入式特性,搭建了飞控软件仿真测试平台。在此基础上,以飞机着陆自动控制软件为实验对象,针对其特性,提出了基于Sober算法的缺陷定位方法,最后进行了仿真验证,证明了缺陷定位方法的可行性。
  关键词:飞行控制软件;软件测试;软件缺陷定位;Sober算法;嵌入式平台
  中图分类号:TP311
  文献标识码:A
  文章编号:1673-5048(2015)01-0052-05
  0 引言
  飞控软件是飞行控制系统的关键部分,其性能优劣直接影响飞机的操纵品质和飞行性能。如果飞控软件出现问题,轻则导致飞机的功能和性能指标得不到满足,影响装备的有效性和战斗力;重则造成飞行任务失败,带来灾难性后果。软件验证和测试则是保障和提高软件可靠性的有效手段。在软件开发过程中,软件缺陷的产生和存在是不可避免的。软件缺陷定位,即发现软件中缺陷存在的位置,是飞控软件测试过程中的关键环节,其准确性和及时性直接影响着飞控软件的可靠性。
  目前,国内外已经有大量文献对软件缺陷定位技术进行了研究,提出了许多种软件缺陷定位方法。现有的缺陷定位方法可以分为四种:基于程序执行切片的方法、基于程序谱的方法、基于程序模型的方法和基于机器学习的方法。其中基于程序谱的方法是目前比较先进的缺陷定位方法,基于此方法,存在多种缺陷定位算法来计算程序单元的可疑度,即包含缺陷的可能性,其中典型的算法有Tarantula,Ochiai,Sober,Liblit,Jaccard。飞控软件是典型的机载软件,与一般的软件相比,有着实时性、嵌入式特性、复杂性和时序性等特点,飞控软件的测试存在着实时性要求高、测试用例集规模庞大且依赖性强、失效触发及判定困难等问题,因此需要对其缺陷定位展开专门的深入研究。
  本文对基于Sober算法的飞控软件缺陷定位方法进行研究和验证。在对飞控软件特性研究的基础上,探索适应飞控软件特点和适合飞控软件高可靠性要求的缺陷定位技术。根据需要搭建了一个VxWorks操作系统下的Host-Target模式仿真测试平台,在此平台上进行实验,验证缺陷定位技术的可行性。
  1 面向缺陷定位的飞控软件特性分析
  飞控软件相对于其他商用软件具有其特殊性,这些特殊性体现在功能、源代码以及缺陷种类方面,这就导致飞控软件的缺陷定位技术相对于其他商用软件而言也具有其特殊性,这种特殊性表现在其缺陷具有极低的触发概率,测试用例的生成与选择具有相当难度等方面。为了提出合理的缺陷定位方法,准确地对飞控软件中的缺陷进行定位,首先从以下三个方面对面向缺陷定位的飞行控制软件特性进行简要分析:
  (1)飞控软件的功能特点:包括模态转换较多,周期性多速率组运行,功能的实现需满足较高的实时性和安全性要求等。
  (2)飞控软件的代码特点:包括软件鲁棒性强,比如软件冗余设计、关键参数重复赋值、穷尽条件考虑等,代码执行时间受限制,条件判断多,数学运算简单等。
  (3)飞控软件的缺陷分类:可简单归类为由人的逻辑错误导致的缺陷、竞争类缺陷、数据处理类缺陷、输入输出类缺陷、内存缺陷、初始化和计算类缺陷等。
  2 飞控软件仿真测试平台
  飞控软件是典型的嵌入式实时软件。在绝大多数场合,采用嵌入式系统的真实运行环境对嵌入式软件进行测试,无论从安全性方面还是经济性方面考虑都是不可行的。为了使仿真测试更加接近真实的飞控软件运行环境,并且可实现,选择搭建Host-Target模式的软件仿真测试平台进行飞控软件的测试。
  2.1测试平台的结构
  软件仿真测试系统一般由三部分组成:运行平台、信号仿真平台和主控计算机平台。在飞行控制软件的仿真测试中,主要采用的是Host-Tar-get的测试模式。Host-Target是指编译链接和测试分析运行在宿主机(Host)上,被测程序运行在目标机(Target)上,宿主机与目标机之间的通信通过串口线或者网络连接实现。仿真测试的构成如图1所示。
  测试平台由主机和目标机两部分组成,其中主机包括主控平台和信号仿真平台,目标机是被测程序的运行平台。在飞控软件的仿真测试中,主控平台用于生成测试用例、测试运行管理、数据分配以及测试后的评估工作;信号仿真平台则是通过编写的全量方程的程序来实现对飞行状态的仿真,模拟飞行控制系统的外部运行环境,从而向运行平台提供激励信号,同时接收来自运行平台的反馈信号。运行平台则用于运行飞控程序,并将控制指令反馈给信号仿真平台。
  2.2硬件设备
  使用一台普通PC机和一台嵌入式单片机来搭建飞控软件仿真测试平台,结构如图2所示。
  测试平台的硬件介绍如下:
  (1)宿主机:普通的安装有Windows XP系统的PC机。本平台采用的是台湾研华公司的工业控制计算机。
  (2)目标机:搭载PC104处理器的嵌入式单片机。本平台采用的是盛博协同科技公司的LX-3360型嵌入式单片机。另外配置一块CF卡作为PC104处理器的存储设备。
  (3)网络设备:普通的交叉网线,串口通信选用RS232串口线。
  (4)显示器:两台普通PC机显示屏。
  (5)网卡:选用Pentium 4的CPU和RTL8139网卡。
  2.3软件环境及其配置
  2.3.1软件环境
  (1)宿主机软件环境:在windows XP操作系统下安装嵌入式开发环境Tornado 2.2和MATLAB7.0.1或其以下版本。Tornado是用于实时嵌入式应用的完整的开发和执行环境,包含三个高度集成的组件:Tornado系列工具,一套强大的交互式开发工具;VxWorks系统,一种嵌入式实时操作系统;主机与目标机之间的通讯软件包。MATLAB则用于进行全量方程的仿真计算。   (2)目标机软件环境:运行嵌入式操作系统VxWorks5.5。VxWorks是一个运行在目标机上的具有可伸缩、可裁减和高可靠性,同时适用于所有流行目标CPU平台的实时操作系统。
  2.3.2软件环境配置
  仿真测试平台的软件环境配置的主要过程可以简单地分为以下几个步骤:
  (1)配置网卡驱动文件以及MakeFile文件;
  (2)建立嵌入式操作系统启动盘(BootROM)以及创建待下载映像(BootlMAGE);
  (3)配置宿主机的FTP Server环境和目标机的Target Server环境:
  (4)启动目标机。
  2.4测试平台运行流程
  飞控软件仿真测试的具体运行流程如下:首先在宿主机上用Tornado对待测的飞控程序进行插桩处理,然后编译,将生成的.out文件通过宿主机和目标机之间的网络连接下载到目标机的VxWorks操作系统下。再利用宿主机上的主控平台向目标机发送测试用例并运行目标机上的飞控程序,飞控程序加载测试用例后进行控制律计算,将产生的控制指令通过网络连接传回到主机的信号仿真平台,进行全量方程的计算,得到当前时刻的飞行状态再发送给目标机的飞控程序。同时把飞控程序的语句覆盖率信息或者谓词判定信息传给主控平台,进行覆盖率的计算等程序分析。照此循环下去直到程序运行结束。
  3 飞控软件实例测试
  3.1实验内容
  本次实验选用了飞机着陆自动控制软件作为被测对象。实验内容则是在搭建好的基于VxWorks嵌入式操作系统的软件仿真测试平台上完成被测软件缺陷定位的测试。测试流程如图3所示。
  3.1.1分析飞控程序
  首先对飞机着陆自动控制软件的程序结构、功能和代码特点进行分析,为之后的缺陷设计、失效标准的设定和测试用例的生成等工作做准备。该飞行控制软件系统由控制律计算、电传系统、气动力计算和全量方程四部分组成。全量方程的计算运行在宿主机的Windows操作系统中,控制律的计算运行在目标机的VxWorks操作系统中。计算控制律的程序是飞控程序的核心,也是进行缺陷定位测试的对象。控制律计算程序分为盘旋、下滑、拉平、着陆四个阶段。本次实验选择了盘旋阶段进行测试。盘旋阶段的功能是使飞机在300~600m的高度盘旋飞行,直至对准下滑线。
  3.1.2选择插桩策略和缺陷定位算法
  通过对程序代码进行分析,盘旋阶段的代码比较简单,大部分代码是控制律的计算公式,此外还有15个限制舵偏幅度的判断分支。在每次仿真飞行中,大部分控制律计算公式都会顺序执行,所以使用基于可执行语句的插桩技术意义不大,无法使用较常用的利用可执行语句执行频谱信息的Tarantula缺陷定位算法。所以选用基于谓词的插桩,缺陷定位算法则是利用谓词次数频谱信息的Sober算法。这里的谓词是指程序中具有逻辑判断功能的语句,诸如if,for,while,return等这样的分支语句、循环语句以及函数返回语句。
  飞控程序在盘旋阶段的运行,是周期性地计算控制律的过程,且在一个周期内,每个谓词语句最多执行一次。因此,在一个测试用例中,记控制律执行次数为n,则φ(P)=nt(P)/n。表1中的φs(P)和φf(P)的值越接近于1,则说明在此次运行中,执行该谓词P的次数越多;等于1,则表示每一次控制律计算都执行了该谓词语句;越接近于0,则说明在此次运行中,执行该谓词P的次数越少;等于0,则表示在这次程序运行中始终未执行该谓词语句。
  利用对每个谓词的φs(P)和φf(P)求均值,得到每个谓词的fs(P)和ff(P)的值,再令
  S(P)=|[fs(P)]2-[ff(P)]2| (3)得到每个谓词的可疑度。
  版本一待测程序的实验结果为可疑度列表一,如表2所示;版本二待测程序的实验结果为可疑度列表二,如表3所示。
  在表2和表3中,可疑度S(P)代表fs(P)与ff(P)的差异,S(P)越接近于1,则说明谓词P包含缺陷的可能性越大;越接近于0,则可能性越小。
  由实验结果可知,带有缺陷的第8个和第10个谓词的可疑度分别为0.9578和0.9245,分别排在了可疑度列表的第一位。其余谓词的可疑度则由大到小,逐渐接近于0。其中在两个列表中,第3个和第9个谓词的可疑度是一样的,原因是这两个分支在程序中存在同时执行或不执行的关系,因此得到的实验数据也是一样的。
  那么根据实验结果,测试人员首先要检查的可能包含缺陷的分支语句,其实际也包含缺陷。因此在本次实验中,测试结果是比较理想的,达到了定位缺陷的目的。
  4 结论
  本文首先对面向缺陷定位的飞控软件特性进行了分析,然后介绍了飞控软件仿真测试平台的搭建,包括它的结构、硬件设备、软件环境介绍及配置和测试流程。通过对飞机着陆自动控制软件的分析,确定了基于Sober算法的缺陷定位技术,并在测试平台上对两个含缺陷版本的飞控程序进行了软件缺陷定位测试,验证了其可行性。本文的研究仍存在下面一些不足,采用的飞控软件结构比较简单,不能体现所有飞控软件的特性;本文使用Sober算法进行可疑度的计算,没有进行其他算法的尝试;实验的前提是假设程序中只有一个缺陷。因此,面向飞控软件特性的缺陷定位技术有待更进一步的研究。
其他文献
传统的二电平直接转矩控制采用滞环控制,可选电平数少,控制精度低,特别是对电机的转矩特性影响比较大。可通过采用多电平逆变器代替二电平逆变器,重新调整开关表来改善控制特
2007年我国钢铁工业加快了技术升级和产业结构的调整,加快了由钢铁大国向钢铁强国的转变。同时,粗钢产量快速增加到了4.89亿吨,进一步加剧了钢铁炉料资源供应的紧张局面。作为炼
2009年8月21日,国家喷量监督检验检疫总局正式发布了第《进口可用作原料的固体废物检验检疫监督管理办法》(第119号令),并将于2009年11月1日起施行。该《办法》历经两年多的时间,
舵机是空空导弹的一个重要舱段,它在空中恶劣温度环境下的工作性能决定了导弹能否正常工作。因此,搭建了基于Lab Windows/CVI平台的舵机温度场测试系统,该系统能够测试舵机在
针对攻击型临近空间飞行器的跳跃机动突防对常规拦截导弹提出的挑战,本文首先建立了视线坐标系下的三维弹-目相对运动方程,引入目标跳跃幅度变化率估计目标跳跃机动的能力,基
目的:研究黑色素瘤缺乏因子2(AIM2)在胆管癌组织中的表达,并分析其表达水平与胆管癌患者临床病理特征及预后的关系。方法:采用组织芯片技术和免疫组织化学染色法,分别检测91
基于脉冲隔板总开孔面积一定的情况下,研究了不同级间开孔形式对一脉冲壳体绝热层烧蚀和流动损失的影响,对带硬质隔板的双脉冲发动机进行了内流场数值计算。结果表明:隔板背壁
采用家系调查方法对一牙釉质发育不全患者的家系情况进行了调查,并绘制成系谱图进行遗传学分析.结果发现该家系中连续5代都出现该病患者,且患者子女中发病率近1/2,亦无性别差
目的:检测树突状细胞(DC)联合细胞因子诱导的杀伤细胞(CIK)免疫治疗对肾癌患者术后外周血中细胞因子含量变化的影响。方法:术后随访我院2016年9月到2018年9月确诊的60例肾癌
目的:探讨非创伤性产前基因诊断胎儿DNA的最适方法。方法:用聚合酶链反应技术对40例8-12孕周人工流产胎儿性别产前检测,以三种不同取材途径:外周血;血浆游离DNA;孕妇宫颈胎儿脱落细