收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

一种用于测试编译优化的程序控制结构生成算法

朱丹枫  
【摘要】:编译器是将高级语言源程序翻译转换成低级语言目标程序的系统软件,是软件开发的一种基础支撑工具,它的正确性直接影响到应用软件的可靠性,因此需要通过大量的测试工作来保障编译器的质量。优化是编译过程中的重要阶段,它主要通过对程序进行功能等价的转换来提高目标程序的性能。编译优化问题多是NP问题,算法复杂度高,需要进行针对性的测试。编译优化测试是针对编译器优化功能的测试,检查经过编译优化后得到的目标程序的功能是否正确、执行性能是否得到改善。 编译器测试的主要流程和通常的软件测试一样,包括了测试用例生成、测试用例执行以及测试结果判定等活动。编译器测试中的测试用例是高级语言源程序,手工生成方式工作量大,而且难以保证充分的覆盖度,为了提高效率,需要有自动化的测试用例生成方法。传统的编译器自动测试方法大多从源语言的文法出发生成测试用例,能够很好地测试编译器的“翻译”功能,但是对编译器后端优化功能的测试缺乏针对性。在编译优化测试中,测试用例除了需要满足文法的约束之外,更重要的是需要具有“可被优化的”特征,因此需要能够生成可被优化的测试用例的方法,用于编译优化测试。 编译优化算法的执行通常以程序分析为基础,对具有特定控制结构及数据流内容的程序进行转换。根据这一特点我们提出了一种基于控制结构扩充数据流成分的测试用例自动生成方法。控制结构是一个程序的结构框架,数据流成分则依附于一定的控制结构之上。该方法将测试用例的生成分为控制结构生成和数据流生成两部分。生成测试用例时,首先根据程序控制结构生成算法生成测试用例的控制结构:然后针对不同的优化技术在生成的控制结构上使用相应的数据流生成算法,得到完整的测试用例。这种方法直观、简单,能够方便地描述测试用例中可优化成分的组成,并控制它们的生成,可以有针对性地测试多种编译优化技术。 本文的研究重点是该方法的基础:程序控制结构生成算法。该算法使用平行和嵌套两种特征参数来定义程序中基本控制结构之间的关系,以此描述程序的整体结构特征。在自动生成程序控制结构的时候,先根据指定的参数值构建完全树,然后按照一定的裁剪和恢复规则对构建的完全树进行剪枝,并依据判定条件得到所有满足结构特征要求的树结构集合,最后将这些树结构转换成对应的程序控制结构,作为下一步扩充数据流成分、从而最终生成完整测试用例的基础。 上述方法已在一个优化编译器自动测试工具中成功实现。该工具基于本文所介绍的测试用例自动生成方法,使用两级脚本解析技术,能够自动生成具有满足测试需要的控制结构和数据流成分的测试用例。目前此工具已成功的应用于一种嵌入式优化编译器的测试,取得了良好的使用效果。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 王子元;徐宝文;聂长海;;组合测试用例生成技术[J];计算机科学与探索;2008年06期
2 万琳;;路径测试用例自动生成中的搜索算法分析[J];计算机工程;2006年01期
3 李志强;邵培南;朱辉;;基于UML顺序图的测试用例生成[J];计算机工程;2010年22期
4 肖驰;;正交设计法在软件测试中的应用[J];现代计算机(专业版);2009年06期
5 李峻;袁兆山;;基于成对测试的GUI测试用例生成方案及实现[J];合肥工业大学学报(自然科学版);2009年11期
6 戴志华;周奇;王烈;;基于XML的测试用例自动生成方法[J];计算机与数字工程;2007年07期
7 马菁;顾景文;;决策树在软件测试用例生成中的应用[J];计算机技术与发展;2008年02期
8 崔冬华;李俊士;乔素琴;;一种改进的两两组合测试用例生成方法[J];微计算机信息;2010年06期
9 王文;王雷;;基于遗传蚁群算法的软件测试用例自动生成[J];微计算机信息;2010年36期
10 文俊浩,朱灿,张杨;基于全对偶算法的自动化测试方法[J];重庆大学学报(自然科学版);2005年10期
11 梁陈良;聂长海;徐宝文;陈振宇;;一种基于模型检验的类测试用例生成方法[J];东南大学学报(自然科学版);2007年05期
12 李冰;陈自力;邱金刚;;基于遗传算法的嵌入式软件测试用例生成系统研究[J];军械工程学院学报;2009年04期
13 汤红霞;方木云;刘明;秦飞;;基于正交法的软件测试用例生成[J];计算机工程与设计;2008年14期
14 王霞;刘永胜;;基于蚁群算法UML活动图的测试用例生成研究[J];泰州职业技术学院学报;2010年05期
15 姜文;缪淮扣;刘玲;;一个自动构造类测试驱动程序的框架[J];计算机科学;2005年03期
16 王钊;白晓颖;戴桂兰;;基于有色Petri网模型的GUI测试用例自动生成技术[J];清华大学学报(自然科学版);2008年04期
17 王钊;白晓颖;戴桂兰;;基于有色Petri网模型的GUI测试用例自动生成技术[J];清华大学学报(自然科学版)网络.预览;2008年04期
18 章靠;丁佐华;;基于控制流的形式化程序测试[J];浙江理工大学学报;2008年03期
19 高建华;顾燕萍;;基于模型的图形用户界面软件测试方法[J];计算机应用与软件;2009年02期
20 远俊红;柳青;李洋;;遗传算法在基于UML活动图生成测试用例中的应用[J];云南大学学报(自然科学版);2009年S1期
中国重要会议论文全文数据库 前10条
1 张侠影;李志蜀;;一种优化的测试用例约简方法[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
2 曹文静;徐胜红;;基于数据流图的测试用例生成技术研究[A];2009通信理论与技术新发展——第十四届全国青年通信学术会议论文集[C];2009年
3 朱睿;吴洁明;;XML技术在白盒测试中的应用[A];2007通信理论与技术新发展——第十二届全国青年通信学术会议论文集(上册)[C];2007年
4 齐俊臣;彭道勇;刘春和;;重视软件测试 提高软件质量与可靠性[A];2005第二届电子信息系统质量与可靠性学术研讨会论文集[C];2005年
5 杨志文;沈森祖;韩红星;;基于集成电路测试程序的软件测试研究[A];第一届中国微电子计量与测试技术研讨会论文集[C];2008年
6 袁利;王磊;;深空探测器软件可测试性设计研究[A];中国宇航学会深空探测技术专业委员会第六届学术年会暨863计划“深空探测与空间实验技术”重大项目学术研讨会论文集[C];2009年
7 宋雪芬;王冠军;宋雪玲;;面向对象软件测试方法研究[A];中国自动化学会全国第九届自动化新技术学术交流会论文集[C];2004年
8 戴骏炜;;软件自动化测试工具的引入[A];冶金企业自动化、信息化与创新——全国冶金自动化信息网建网30周年论文集[C];2007年
9 陈晓;;软件自动化测试的分析与实践[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
10 张雯婷;;软件测试丢失数据遗补算法[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
中国博士学位论文全文数据库 前10条
1 李根;基于动态测试用例生成的二进制软件缺陷自动发掘技术研究[D];国防科学技术大学;2010年
2 陆平静;低开销的迭代编译优化关键技术研究[D];国防科学技术大学;2010年
3 谢晓东;基于模型比较的软件测试用例生成方法研究[D];华中科技大学;2007年
4 刘攀;基于FSM的测试用例生成和测试优化[D];上海大学;2011年
5 夏启明;软件测试及评价的复用策略研究及其实现[D];武汉大学;2010年
6 江胜;基于进化测试的用例生成方法研究[D];华中科技大学;2009年
7 邓鹍;前瞻多线程编译优化技术的研究与实现[D];国防科学技术大学;2001年
8 刘玲;基于面向对象形式规格说明的测试用例生成技术[D];上海大学;2004年
9 钱忠胜;基于模型的Web应用测试用例生成方法[D];上海大学;2008年
10 朱彬;基于用户界面规格说明的Web应用建模与测试用例生成[D];上海大学;2011年
中国硕士学位论文全文数据库 前10条
1 朱丹枫;一种用于测试编译优化的程序控制结构生成算法[D];中国科学院研究生院(软件研究所);2005年
2 吕格峰;基于功能对象的测试用例生成模型研究与实现[D];湖南大学;2005年
3 樊鑫;基于UML活动图生成测试用例方法的研究[D];南昌航空大学;2008年
4 唐乐;面向软件可靠性的测试用例生成技术的研究与实现[D];电子科技大学;2007年
5 顾燕萍;基于模型的GUI软件测试框架研究[D];上海师范大学;2007年
6 潘琦;基于通信业务系统的测试用例最小集的研究[D];东南大学;2006年
7 赵艳军;基于CHAM的类测试用例生成[D];太原理工大学;2011年
8 董蕾;基于正交对的分布式软件测试研究与实现[D];苏州大学;2005年
9 陈雨;基于遗传算法的测试用例生成[D];东华大学;2009年
10 毛颖;测试用例自动生成系统研究与实现[D];电子科技大学;2007年
中国重要报纸全文数据库 前10条
1 北京融海恒信咨询有限公司;软件测试:一个不得不关注的问题[N];中国计算机报;2002年
2 王宇;过程决定质量[N];中国计算机报;2003年
3 仪芳媛;IT巨头京城上演软件测试人才掠夺战[N];中国企业报;2006年
4 本报记者  张咏梅;软件测试人才面临“回炉”[N];北京人才市场报;2006年
5 仪芳媛;IT毕业生跳动的职场脉搏你按住没有?[N];市场报;2006年
6 成墨;软件测试人才争夺战升级[N];中华工商时报;2006年
7 本报记者 张旭东;软件测试 IT就业新热点[N];中国计算机报;2005年
8 ;软件测试的基本方法[N];中国计算机报;2002年
9 隋年;软件测试:2007需求再放大[N];就业时报;2007年
10 记者 兰昆;中国软件测试人才形成“科班培养”机制[N];中国经济导报;2005年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978