面向C语言的符号执行引擎设计与实现

来源 :华东师范大学 | 被引量 : 0次 | 上传用户:lzbboyf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着我国航天、轨道交通与芯片等产业的不断发展,高安全领域软件系统的数量和规模不断扩大。出于高稳定性、强实时性和兼容性等需求,这些系统通常使用具有足够灵活性的C语言进行开发。由于对系统安全性的高要求,此类软件系统代码需要进行充分单元测试,并要求达到接近100%的测试覆盖率。因此,企业通常需要专业测试人员针对C代码函数进行手工编写单元测试用例,但仍然存在测试用例编写效率低下、质量参差不齐等问题。针对上述问题,本文提出了将符号执行技术应用于C语言单元测试用例自动生成的方法,实现了以高覆盖率为导向的单元测试用例自动生成工具,本文主要的贡献如下:构建C语言符号执行引擎:本文设计实现的符号执行引擎使用静态分析和控制流分析来解析处理待测C源码,生成待测程序的抽象语法树,构建控制流图模型。基于控制流图,使用状态搜索器和执行器对程序路径进行符号执行,并在此过程中获取路径对应的测试输入,得到单元测试用例数据,实现单元测试用例自动生成工具的核心功能。满足MC/DC覆盖的高效搜索算法:在符号执行引擎中,实现了满足MC/DC覆盖准则的单元测试用例生成的方法,同时优化程序路径搜索效率,提出并实现了洪水搜索算法,支持快速自动生成语句、分支和MC/DC覆盖准则的高覆盖率单元测试用例。实现单元测试用例自动生成工具:以符号执行引擎为内核,构建云服务平台,将本文的符号执行引擎从研究级别提升至可用的工业产品,并可直接导出支持Testbed等第三方测试用例管理平台的用例格式,实现了基本无需手工修改的全自动化单元测试,大幅提高测试人员的工作效率和测试质量。本文提出的以面向C语言的符号执行引擎为内核的单元测试自动化工具,目前已投入航空航天和地铁信号等领域的工业界代码的单元测试应用中。
其他文献
受到正规金融的限制,民间金融越来越活跃,标会作为民间金融一个重要的组成部分,对正规金融进行了有益补充,在我国东南沿海的浙江、福建、广东和台湾地区尤为盛行,对促进地区
帕金森病是中老年人常见的中枢神经系统变性疾病。星形胶质细胞可能参与了其发病过程,一方面,它可以通过释放神经营养因子、谷胱甘肽等保护多巴胺能神经元,在帕金森病中发挥保护
这些尚待翻译成中文的作品,可以作为新年充电之备或者提升英文阅读水平的工具。即使是现在,我们对数字营销类的书籍有着天然的抗拒。我们是有充分理由的。京东和豆瓣热门营销
期刊
科学课是一门以实验为基础的学科,实验在培养学生操作能力、观察能力、思维能力与探究能力方面具有重要作用。笔者结合教学实践与研究对如何有效开展实验探究展开论述。
对同一总体定期连续调查是觉的一类抽样调查,在这一类中有不少调查可利用调查问卷回溯得到前一时期的数据,以这些数据为辅助变量可大大提高估计精度。本文考虑了这一类调查的抽
综述了尾矿坝排渗的重要性,介绍了常见尾矿坝的排渗方法原理和优缺点,并通过工程实例,分析了排渗系统的效果,最后对尾矿坝排渗技术的研究进行了展望。
分析了中职英语口语教学的现状及存在问题,依据建构主义教育观和语言输出理论等阐述在英语口语教学中有针对性地应用英语辩论的必要性、可行性以及要注意的问题。
为了改善不正常航班恢复的实用性和有效性,研究了协同决策机制下航空公司时隙二次指派的问题,提出了航班波运行模式下自主取消航班的非平衡时隙指派模型.通过定理证明分析出
时代呼唤着国学的复兴,而语文作为母语教育课程,对传承和弘扬中华优秀传统文化有着不可替代的作用与义不容辞的责任。因此,将国学经典纳入主要教学内容,强调引入国学教育的思
目的:了解民航飞行学员与普通大学生心理健康水平是否有差异。方法:以某高校的全体在校民航飞行学员(全为男性)为研究对象,并按比例抽取307名普通男大学生为对照组,用中国大学生