[发明专利]一种改进的面向宿主的嵌入式软件白盒测试方法无效
申请号: | 200910033240.0 | 申请日: | 2009-06-10 |
公开(公告)号: | CN101576850A | 公开(公告)日: | 2009-11-11 |
发明(设计)人: | 刘久富;杨振兴;孙琳;娄坚波;李金奎;王伟 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京经纬专利商标代理有限公司 | 代理人: | 许 方 |
地址: | 210016江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 改进 面向 宿主 嵌入式 软件 测试 方法 | ||
技术领域
发明涉及一种改进的面向宿主的嵌入式软件白盒测试方法,属于嵌入式软件测试的技术领域。
背景技术
软件测试是保证软件系统正确性的一个重要手段,也是计算机软件工程方法和技术的一个主要组成部分。虽然测试并不能证明软件系统的正确性,但是,它通过运行选定的测试用例来发现软件中的错误,并通过纠正错误使软件的质量达到令人以满意的程度。所以,在今后相当长的时间内测试仍是保证软件质量的主要手段。
北京航空航天大学可靠性工程研究所提出了基于模糊神经网络的软件可靠性早期预测方法,从理论和实践上对基于模糊神经网络的软件可靠性早期预测模型进行了论证。而北京航空航天大学软件工程研究所在承担国防科工委“九五”重点预研课题“军用软件质量评测技术”期间,将理论研究与实践工作结合起来,对于预测模型的建模方法、预测模型共性与个性的统一、以及模型调整技术进行了较为深入的研究,取得了若干具有实用价值的研究成果。如文献:李虎.软件质量评测的定量分析技术研究[D].北京:北京航空航天大学博士论文.2001
合肥工业大学李嘉研究了基于支持向量机的软件可靠性早期预测,在提出模型的基础上,设计了一个软件可靠性早期预测软件系统,该预测系统把支持向量机引入软件可靠性早期预测领域,可以对软件存在的缺陷数进行预测。但该系统不能对缺陷进行具体的定位,只能给软件开发人员一个预测的缺陷数量。如文献:李嘉.基于支持向量机的软件可靠性早期预测研究[D].合肥:合肥工业大学硕士学位论文.2005
这些已有的软件测试理论及测试方法中,一般仍然或多或少存在以下不足:
(1)只能针对某单一的软件进行测试,例如51系列的嵌入式软件,或者ARM嵌入式软件;
(2)对软件可靠性评价只是一个整体的概念,预测软件缺陷的个数,但不能具体指出缺陷存在的位置;
(3)对隐含的代码错误测试效果不好,如果再次测试将花费大量的人力物力;
(4)人为参与的步骤太多,使用起来很不方便;
(5)得到的覆盖率指标比较单一,不能全面的反映软件的质量。
发明内容
本发明目的是针对现有技术存在的缺陷提供一种改进的面向宿主的嵌入式软件白盒测试方法。
本发明是一种改进的面向宿主的嵌入式软件白盒测试方法,其特征在于包括如下步骤:
1.)第一阶段测试即粗预测,包括如下步骤:
(1)将含有已知错误的代码经过词法语法分析检测编配得到含有错误的属性不变量,将去除错误后的代码经过词法语法分析检测编配得到去除错误后的属性不变量;(2)将步骤(1)所述的含有错误的属性不变量和去除错误后的属性不变量分别经过槽的替换得到支持向量机输入的特征向量,其中槽包括变量类型槽、运算符类型槽、属性类型槽和程序变量槽,下同;(3)将步骤(2)所述的特征向量经过SVM模式识别与回归进行机器学习得到能够辨识潜在错误的模型;(4)将用户程序依次经过词法语法分析检测编配、槽后得到用户程序的属性特征向量,将用户程序的属性特征向量与步骤(3)所述的能够辨识潜在错误的模型匹配去除可揭错误属性,可揭错误属性就是那些真实不正确的代码而不是那些真实正确的代码;
2.)第二阶段测试即白盒测试:将去除了可揭错误属性后的程序进行预处理即将宏进行展开,然后将去除了可揭错误属性后的程序进行白盒测试,去除测试过程中所出现的问题,白盒测试包括词法分析、语法分析、动态运行分析、覆盖率分析;
3.)第三阶段测试即精预测:将排除白盒测试出现的问题后的程序再应用第一阶段(4)步骤进行辨识,得到可能隐含更深的程序错误。
本发明方法除能进行常规的嵌入式软件覆盖测试外,还能够对代码潜在错误进行预测,能够定位到具体错误代码的位置,其中使用的支持向量机学习算法来对属性进行训练学习,学习得到的模式用来预测用户代码。本发明由一组程序产生的预测模型能够完全应用到不同的程序,通用性强。
附图说明
图1:本发明工作流程图;
图2:本发明体系结构图。
具体实施方式
1.工作流程
下面结合附图1对本发明的工作流程进行详细说明。
SVM模式识别与回归采用支持向量机的LibSVM工具包,已经集成到我们开发的自动化软件测试工具中,用户可以很方便调用。
如图1所示,改进的面向宿主的嵌入式软件白盒测试的工作流程,有如下软件测试步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910033240.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型真空袋
- 下一篇:一种可降级的三机冗余容错系统