基于分层强化学习的自动化软件测试技术研究

来源 :辽宁大学 | 被引量 : 0次 | 上传用户:guodong0810
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试作为保证功能交付,提前发现软件项目问题的主要手段日益受到学术界和产业界的重视,自动化软件测试是其中一个热门领域。自动化软件测试技术通过程序分析等方式,不断生成测试用例执行程序,目的主要是覆盖尽可能多的程序路径以及发现能够导致程序崩溃的漏洞。基于覆盖率引导的模糊测试与动态符号执行作为两大主流的自动化软件测试技术已被广泛研究并应用到学术界与工业界中,这两种技术有明显的特点:模糊测试通过对测试用例变异来生成新的测试用例,效率高但测试用例的可靠性一般。动态符号执行根据路径约束取反生成可靠的测试用例,但面临路径爆炸和约束求解器的限制,而且生成测试用例的代价较高。搜索策略的设计在一定程度上缓解了路径爆炸,但大多数搜索策略都由人工设计并且在测试过程中不可变。也有学者将动态符号执行与模糊测试相结合,称为混合测试,以突破它们各自的局限。但目前混合测试主要由两种方法轮替执行,缺乏灵活性。强化学习场景中智能体根据环境的反馈不断调整的策略,可用于动态符号执行搜索策略的设计。分层强化学习框架能够出色的解决控制转移问题,可用于混合测试算法的设计。在强化学习算法的启发下,本文提出了一种基于分层强化学习的混合测试算法LCCT(Learnable Cooperative Concolic Testing),主要工作内容如下:(1)将动态符号执行过程抽象为马尔可夫决策过程,定义动态符号执行器并使用强化学习算法学习条件取反策略。执行器状态为测试用例已覆盖分支组成的程序执行树,动作空间为执行树中所有可以取反的条件分支节点。选择取反节点时,执行器将路径序列的嵌入表达作为当前状态的部分表示,使用DDQN算法对路径上所有可取反的动作进行价值预测,最后根据改进的(?)-greedy策略选择取反节点生成当前时刻的测试用例。环境根据执行测试用例后的新增分支覆盖数和生成时间反馈奖励,执行器根据奖励优化状态动作价值预测函数。(2)为了突破动态符号执行的固有局限,引入模糊测试执行器作为动态符号执行器的补充,使用分层强化学习框架通过协调器控制两个执行器,算法命名为LCCT。LCCT由顶层协调器和底层执行器组成,协调器的状态为测试用例覆盖分支组成程序执行树的统计量,动作空间为模糊测试执行器以及动态符号执行器。协调器使用DQN算法进行价值预测并根据(?)-greedy策略选择执行器生成测试用例,最后根据测试用例的表现优化状态价值预测函数。LCCT通过引入模糊测试执行器避免动态符号执行器陷入局部最优并降低了路径爆炸影响。通过协调器让执行器之间灵活切换。同时还根据执行器各自的特点进行数据传输,提高了整体算法的效率。(3)将动态符号执行器以及LCCT算法与目前主流的动态符号执行策略Chameleon等在expat等一系列开源程序上进行实验测试。实验结果表明,动态符号执行器优于当前的大部分固定策略,LCCT的表现优于动态符号执行器,并且在部分程序上覆盖了最多的分支。
其他文献
近年来,电子商务如雨后春笋般不断发展壮大,其涵盖面越发广泛,并迅速引领社会发展潮流,电子商务行业已成为国民经济发展的一支坚实力量。自2020年1月月末,新型冠状病毒肺炎疫情进入了大规模爆发期,在这一艰难时段,电子商务的线上运营优势也逐渐显现出来,电商行业所受到的复工影响程度相比其他行业较低,其更高的复工率令其他行业望尘莫及。电商网络具有网络异构性,异构网络表征学习及用户社区划分是挖掘电商网络异构信
学位
生物通路对于研究疾病致病性有重要意义,它对于识别药物靶点和改善疾病临床的治疗效果有着指导意义。高通量测序技术的不断完善,使得生物通路数据被大量积累,因此如何从繁杂冗余的数据中有效提取生物通路信息是当下迫切需要解决的难题。当前存在不少生物通路知识库提供给研究人员通路可视化和生物通路检索功能,还有个别的生物通路知识库能够根据各种用户需求提供差异化的通路排序结果,且检索结果能够按照用户习惯动态更新,但是
学位
近年来,随着计算机技术的不断发展,人工智能领域的研究突飞猛进。其中图卷积神经网络已经成为学习复杂结构与性质之间的关系等应用的一个非常有效的框架。图卷积神经网络在图结构数据上表现出来了非常优异的性能,因此越来越多的研究者开始聚焦于该方向。在诸多方向中由于使用图卷积神经网络进行分子属性预测在分子生成和药物发现等领域起到极为关键的作用,分子属性预测成为了越来越热的研究方向。在化学领域,计算分子的属性通常
学位
计算机视觉技术领域的研究进入了深度学习时代后,人脸检测作为计算机视觉领域中一直都在研究的问题,也跟随人工智能技术不断向前发展,深度学习时代的人脸检测算法也可以从跟通用目标检测的关系来从两个不同的角度看待,分别是专为检测人脸目标而设计的检测器,此类算法大多从人脸与其他目标相比而独有的特征出发而设计,另一种就是在通用目标检测算法的基础上,做一定针对于人脸目标的调整,此类算法的设计往往更加简洁,且具备更
学位
学位
在当今的数字化时代,我们对图像质量提出更高的要求,各个领域的发展都离不开图像。但是由于采集设备的传感器缺陷,或通过通信信道传输的过程中图像容易被脉冲噪声所破坏,具体表现为图像中随机出现的黑点和白点,故也可叫做椒盐噪声,椒盐噪声不仅影响我们视觉对图像质量的判断,而且还会对后续其它图像处理任务造成影响。去除椒盐噪声的方法有很多,有学者提出基于模糊理论的两阶段噪声检测与去除方法,优点是结合模糊理论处理不
学位
漏洞检测一直是软件安全领域的一个重要研究问题,近年来,基于深度学习的代码漏洞检测技术取得了长足的进展,相比于传统方法,它不依赖领域专家,能够自动提取漏洞模式。然而,已有研究表明,深度学习模型具有脆弱性,在样本上施加一个精心设计的小扰动,就有可能成功欺骗模型,使模型输出错误结果,如果稍加扰动就可以让漏洞程序逃避检测,这将对软件安全造成巨大的威胁,施加扰动的方法即是对抗攻击方法。目前,针对对抗攻击方法
学位
在流行病学中,时空数据可以帮助追踪传染病的传播过程,由于这些数据在现实中涉及到如溯源等具有重要实际意义的应用,所以对数据的真实性有较高的要求,同时目前时空数据大多由各个企业、机构单独集中式存储,从而形成了一座座“数据孤岛”,极大的降低了时空数据的流通性和数据价值,并增加了数据造假的风险。区块链技术的不可篡改性与透明性可以为时空数据的存储、共享与溯源需求提供良好的支持,但是当前区块链的数据结构并不是
学位
随着数据相关理论和技术的快速发展,金融、医疗、电力等各领域均产生了海量数据。这些数据来源分布广、格式多变、规模庞大。然而,由于网络传输、人工审核校验等原因,数据集当中某些属性存在缺失甚至错误,数据质量难以保证。良好的数据质量是支持分析、决策以及可视化等的重要基础。如何提高数据质量,成为当前数据处理领域研究的热点问题。本文对其中的数据填补问题展开了研究。在数据填补问题上,许多学者进行了研究,提出了一
学位
无线传感器网络是指在特定区域内由若干个带有监测、传输数据功能的微型节点形成的自组织网络,可向用户传输监测信息。早期无线传感器网络路由协议着重于节能,但随着应用环境的改变,数据传输的可靠性变得十分重要。针对异常事件监测场景下,以保证数据可靠传输、均衡网络能耗为目标,提出一种基于分簇与信任的可靠传输路由协议。该协议主要包括基于节点多指标的信任评价模型和改进的基于梯度分簇模型,将二者应用在分阶段传输的路
学位