[发明专利]一种基于深度强化学习的EFSM输入序列生成方法在审
申请号: | 202210392312.6 | 申请日: | 2022-04-15 |
公开(公告)号: | CN114691518A | 公开(公告)日: | 2022-07-01 |
发明(设计)人: | 舒挺;吴崔屏 | 申请(专利权)人: | 浙江理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州昊泽专利代理事务所(特殊普通合伙) 33449 | 代理人: | 黄前泽 |
地址: | 310018 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 强化 学习 efsm 输入 序列 生成 方法 | ||
本发明公开了一种基于深度强化学习的EFSM输入序列生成方法,将输入序列生成问题看作是一个复杂的优化问题,求解最优解的过程就是利用元启发式算法对可执行路径中的每条变迁搜索满足其谓词判断条件的输入参数解;其中,元启发式算法被使用强化学习算法训练好的智能体来代替,智能体通过在本发明设计的动作空间内选择动作来改变输入参数的值,然后根据奖赏函数获取对应的奖赏值以指导下一步动作的选择。本发明可以根据各种客观测试路径有效地生成新的输入序列,可以有效地提高EFSM模型输入序列生成的效率和成功率,并能够在进行回归测试和测试用例生成应用中有效地减少输入序列生成的时间开销。
技术领域
本发明属于基于模型的测试用例生成领域,具体涉及一种基于深度强化学习的EFSM输入序列生成方法。
背景技术
软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验软件系统是否满足规定的需求或弄清预期结果与实际结果之间的差别。从测试过程是否需要执行待测程序的角度,软件测试方法可分为静态测试和动态测试,静态测试方法不运行被测软件,只是静态地检查程序代码、界面或文档中可能存在的错误,而动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。
动态测试方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。测试用例生成这一步至关重要,而在众多自动化测试用例生成方法中,基于模型的测试是一种常见的测试方法,主要过程是在不同的抽象层次上创建软件状态行为模型,然后利用该模型生成测试用例,以揭示缺陷并验证实现是否符合其规范。其中最为广泛使用的是扩展有限状态机(EFSM)。EFSM是一种由有限数量的状态、状态之间的变迁组成的行为模型,它可以用有限的输入/输出参数集、状态转换函数和输出函数来描述,同时包含控制部分和数据部分。
目前,针对EFSM生成测试序列的研究主要都是使用基于搜索的算法,遗传算法的单一使用可能会限制结果并扼杀创造力,而且这些算法需要在搜索测试数据之前手动详细说明,这会限制测试数据生成的质量和效率。此外,对于每个测试数据生成,这些方法通常必须启动一个新的迭代搜索过程,难以使用之前的搜索经验,也减少了进一步提升性能的机会。因此,如何快速高效地得到输入序列,在频繁需要测试数据的场景中能够减少输入序列生成带来的时间开销是当前急需解决的问题。
深度强化学习(DRL)是深度学习和强化学习的结合。DRL的主要目标是通过与环境的交互来训练智能体,以尝试和错误的方式学习解决顺序决策问题的最佳行为。依托深度学习强大的感知能力,DRL突破了传统强化学习的规模限制,可以应用于具有高维状态和动作空间的决策任务。例如,在玩游戏中的出色成功显示了其超人的水平。
因此,如果能基于DRL提供一种新颖的方法来有效地自动生成EFSM输入序列,则在软件测试领域是一大突破。
发明内容
针对以上背景与问题,本发明提出了一种基于深度强化学习的EFSM输入序列生成方法,将输入序列生成问题看作是一个复杂的优化问题,求解最优解的过程就是利用元启发式算法对可执行路径中的每条变迁搜索满足其谓词判断条件的输入参数解。其中,元启发式算法被使用强化学习算法训练好的智能体来代替,智能体通过在本发明设计的动作空间内选择动作来改变输入参数的值,然后根据奖赏函数获取对应的奖赏值以指导下一步动作的选择。
本发明具体步骤如下:
(1)基于EFSM抽象模型搭建深度强化学习算法所需的深度强化学习环境:从软件的规格说明中提取出EFSM抽象模型,按照深度强化学习算法的组成要素,设计将EFSM抽象模型作为深度强化学习环境要实现的奖赏函数、状态空间和动作空间,对状态空间和动作空间进行初始化,并完成reset()和step()方法的实现,其中,reset()方法用于在每个回合重置深度强化学习环境的状态,step()方法接收来自智能体给出的动作以改变深度强化学习环境得到下一个时刻的深度强化学习环境状态,并调用奖赏函数给出当前动作的奖励反馈,来决定是否结束当前回合;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江理工大学,未经浙江理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210392312.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种潜水泵
- 下一篇:一种自动轴承内圈沟道超精机