基于分段动态符号执行的约束优化研究

来源 :哈尔滨师范大学 | 被引量 : 0次 | 上传用户:QQ81886788
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件质量是保证软件产品正常平稳运行的关键,因为在软件开发和软件功能更新过程中不可避免会出现软件缺陷,这些缺陷如果不及时发现,软件不能平稳运行,甚至可能对其他相关软件带来更大危害。为了有效的发现软件中的缺陷并对所在缺陷代码进行改进必须进行软件测试。符号执行作为一种程序分析技术,使用不同的、可能的输入来测试程序,系统地同时探索许多可能的执行路径,使得软件可靠性应用程序有重大实际突破。动态符号执行通过自动输入生成发现软件中的缺陷——即自动化软件测试。在此过程中,为保证程序可继续执行会将求解器无法求解的部分用具体值替换,导致部分路径丢失,并且路径爆炸问题依然严峻;在整个符号执行中,求解器的求解时间占程序执行的很大一部分,优化约束集、减少求解器的负担也是一个至关重要的问题。本文通过分段动态符号执行优化约束集的方法,缓解动态符号执行中的路径爆炸。提出一个CCSDSM优化框架,利用圈复杂度度量软件复杂性进行分段处理,避免程序分支呈指数级增长后导致的路径爆炸,并在分段处优化约束集,减轻求解器的负担,延迟符号值被实际值替换,降低路径的不完整性。本文用开源符号执行工具KLEE对程序进行分析。设计实验来评估CCSDSM框架的可行性及优化效果。该实验以KLEE默认方法为参照,将分段执行前和分段执行后的程序构造代码进行实验分析,发现由于不同代码圈复杂度的不同,程序的运行时间和效率有非常大的差别。并对开源项目中部分源代码文件进行圈复杂度测试,选用圈复杂度值较高的源代码文件readelf.c通过分段并优化约束集可以有效缓解路径空间爆炸。符号执行越来越多的被用于自动化软件测试,对于处理路径爆炸的程序验证和优化约束的研究对软件测试具有十分重要的意义。
其他文献
游戏是自人类存在即产生的一种先天性活动,游戏存在的意义同样被人们从各个方面进行探索,电子游戏的出现使大众开始接触并探索游戏,游戏中所具有的教育意义也在不断被人们发
管道是运输石油资源的主要手段。近年来,由于管材老化、盗油打孔等导致的管道泄漏事故不断增加,造成了大量的经济损失和人员伤亡。因此,对管道泄漏点进行快速、准确的定位,是
白光发光二极管(white light-emitting diode)简称白光LED,由于能耗低、寿命长、响应快、环境友好等优点被誉为第四代照明光源。其主流实现方式是使用蓝光LED芯片结合黄色YAG
染色体作为遗传物质的载体,当其表型出现异常时,会导致基因的异常表达。因此,对染色体图像进行核型分析就成为细胞遗传学研究的重要课题之一,对人类遗传学疾病的诊断具有重要
醋酸CoA转移酶(AarC)属于第I类CoA转移酶家族,催化CoA从acyl-CoA转移到琥珀酸上。在醋酸菌变异的柠檬酸循环中,AarC起到的关键作用,研究AarC的催化机制对于醋酸菌变异的柠檬
微-纳米结构金属电极导电性良好、电化学活性面积大、电催化活性高,在电化学领域有着广泛应用。双金属微-纳米材料因具有化学成分和结构的可调性和两种不同金属之间的协同效
图的顶点着色是图论中的重要研究专题,在实际生活中有着极其广泛的应用.诸如学生选课,四色问题,会议安排,中继站分配特别是计算机网络方面许多问题都能转化为顶点着色问题.图
随着线上音乐产业的快速发展,各大平台每天会产生海量的音乐数据。面对丰富的曲库,人们很难快速找到自己喜欢的歌曲。因此,人们迫切需要一种有效的音乐推荐系统,来帮助他们检
随着新时代的变化,课程改革也逐渐进入深水区,高中信息技术课程在改革的大潮中也要不断寻找自身出路。受各方因素影响,在传统高中信息技术课程中出现的学生动机不足、教师教
自从MM理论提出的近60年以来,金融研究领域的学者们一直致力于探究公司最优财务杠杆比例,提出了各种理论分析与模型预测。但是在现实世界中公司发行的债务总是低于理论模型得