嵌入式软件白盒测试中插桩技术的研究与应用

来源 :北京工业大学 | 被引量 : 16次 | 上传用户:xiaobaby2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着嵌入式软件测试的发展,在要求高可靠性的领域对“白盒”测试的要求也越来越高,对于实现嵌入式软件“白盒”测试的技术研究也成为IT领域的一大热点。利用插桩技术来实现“白盒”测试是一种行之有效的方法。国外很多机构和公司都对插桩技术进行了深入而细致的研究,但是国内对于插桩技术的掌握则稍显逊色,更多的是使用国外的产品进行“白盒”测试,这就增加了“白盒”测试的成本。利用插桩技术实现嵌入式软件“白盒”测试是行之有效的方法。本课题的主要任务是通过对嵌入式软件的特点以及现有插桩技术进行研究,提出了在嵌入式软件“白盒”测试中插桩技术面临的主要问题:代码膨胀率和程序执行效率,利用GCC作为开发平台,针对这两个问题进行研究,实现了插桩技术。论文针对嵌入式软件插桩技术中出现的两个问题,对插桩模型进行了改进,提出了策略性插桩模型。经过一系列的研究,提出利用替换宏定义、策略插桩来解决代码膨胀问题和提高插桩速度进而解决程序执行效率问题;然后专门针对嵌入式软件的不确定性,特别提出对优化后的代码进行抽象语法树冗余信息消除的算法,然后再进行插桩,以此来保证插桩位置的准确性;针对嵌入式软件一般都没有界面,专门提出针对模块进行插桩的策略,方便对嵌入式软件进行测试;针对嵌入式软件系统资源有限这一特点,特别设计探针函数只负责数据信息的收集和传递,数据信息的存储和分析在插桩库中进行,以此来减少探针函数所占的代码量等一系列的技术来减少插桩带来代码膨胀率,提高插桩的准确率。同时实现了覆盖率计算算法,并对MC/DC覆盖测试准则进行了研究,提出了实现MC/DC的测试流程。为了验证插桩模型的正确性,本课题采用GCC编译器为开发平台,在GCC中实现了对优化后的抽象语法树进行冗余信息消除的算法,为代码膨胀和程序执行效率问题提供了进一步的解决方案;同时在GCC中实现了策略插桩,更进一步解决了代码膨胀的问题。最后通过实验对比,证明了插桩模型的可行性和有效性。本课题首次将对优化后的抽象语法树进行冗余信息消除的算法应用于插桩技术中,使得更快速、准确的确定插桩点的位置,从一定程度上解决了插桩技术产生的代码膨胀和程序执行效率的问题。同时实现了策略插桩的方式,更进一步解决了插桩技术的所产生的问题,而且专门为嵌入式软件提出了模块探针插桩策略。采用GCC作为研究开发的平台,利用GCC的高度优化和高移植性,可以将插桩技术应用到更广泛的领域中。
其他文献
网页分类可在较大程度上解决信息杂乱无章问题。由于网页中含有较多噪音信息以及网页的特征提取结果影响到网页分类性能,因此,如何降低网页噪音,并改进网页内容的特征提取过
学位
随着移动通信技术的发展,手机的普及率逐年上升,移动增值服务成功的解决了人们希望通过手机获取计算机网络中信息的需求,近年来得到了快速的发展。随着社会发展的加快,对移动
近年来网络信息随着互联网技术的发展在急剧增长,同时国家主席习近平也提出了互联网+的概念,因此在互联网中产生了大量、且具有研究价值的文本信息,如互联网参与人员发表的关
近年来,由于国内电源行业的快速发展使得电源企业规模得到不断扩大。在生产能力和经济效益小断提高的同时,企业信息化建设无法跟上企业的发展步伐,已经成为企业进一步发展的
WebGIS技术是GIS在网络技术上的应用,随着Internet的发展,WebGIS的应用已经深入到各领域,正面向标准化、开放性和跨平台方面发展。目前,很多领域已经实现了WebGIS研究,WebGIS已成
随着互联网的普及,以及电子商务的迅猛发展,网络交易日渐流行,越来越多的商品从现实交易转向虚拟交易,导致信息资源的数据种类和数据量迅速增长,推动了电子商务个性化推荐的
学位
本课题来源于上海海洋大学临港新校区的网络建设项目。本课题所实现的系统模型是在深入研究了IPv4和IPv6双协议栈及网络管理技术的基础上,根据实践过程中的网络管理系统的需求
学位
随着冷冻电镜技术的发展,对生物大分子的成像精度要求越来越高。现有技术条件下,使用冷冻电镜技术采集的生物大分子的投影图像衬度低,信噪比低,图像模糊,图像中的单颗粒与背