买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于利用和探索的超启发框架上层调度方法_北京化工大学_202011512308.6 

申请/专利权人:北京化工大学

申请日:2020-12-19

公开(公告)日:2024-04-02

公开(公告)号:CN112631907B

主分类号:G06F11/36

分类号:G06F11/36;G06N3/006

优先权:

专利状态码:有效-授权

法律状态:2024.04.02#授权;2021.04.27#实质审查的生效;2021.04.09#公开

摘要:本发明公开了一种基于利用和探索的超启发框架上层调度方法,属于基于搜索的多目标测试用例优先排序领域。超启发框架在迭代过程中通过上层调度策略对多个底层算法进行动态自适应调度,从而得到满足测试目标的测试用例执行序列。本发明的上层调度策略由一个基于底层算法历史执行信息的评价指标和一种结合利用与探索特征的选择算法组成,其特点在于既能够根据各底层算法最近几次被调度执行的评价结果选择当前最优的底层算法,又能够保证底层算法调度的多样性进而为后续调度积累更多信息。与已有调度策略相比,此调度策略能够使超启发框架得到更能满足测试目标的测试用例执行序列,也提高了超启发框架的运行效率,具有一定的工业应用价值。

主权项:1.一种基于利用和探索的超启发框架上层调度方法,其特征在于:通过动态自适应调度底层算法,得到满足测试优化目标的测试用例执行序列;该上层调度策略由一个基于底层算法历史执行信息的评价指标和一个结合利用和探索特征的选择算法组成;评价指标的计算基于超启发框架迭代过程中各底层算法最近w次被调度的执行信息,将其看作随着迭代次数增加而移动的时间窗口内的执行信息,窗口大小为w;在超启发框架迭代进化过程中会为每个底层算法更新维护此评价指标值;第t次迭代中,通过层级分布函数计算出当代所用底层算法LLH的HD值,将上一次调度算法LLH得到的评价指标值和第t次迭代调度LLH得到的HD值进行平均作为算法LLH当前的评价指标值;根据各底层算法的评价指标值使用一种改进的探索和利用相结合的“epsilon轮盘赌-贪心”选择算法调度进入下一次迭代的底层算法;若在超启发框架一次迭代中n个底层算法所维护的评价指标值为{Value_1,…,Value_n},上层调度策略会以epsilon的概率进行轮盘赌,1-epsilon的概率进行贪心,进而选择出一个底层算法进入下一次迭代;使用具备探索思想的轮盘赌选择时,每个底层算法都有几率被选择,几率的大小取决于其评价指标值的大小;使用具备利用思想的贪心选择时,评价指标值最大的底层算法则会被选择;在下一次迭代中更新被选底层算法的评价指标值后再使用epsilon轮盘赌-贪心算法进行选择,如此迭代直至得到最满足测试优化目标的测试用例执行序列;步骤1:初始化;步骤1.1初始化种群个体;种群中的一个个体即表示一个测试用例执行序列,通过随机排列测试用例的执行顺序来初始化种群个体;步骤1.2初始化各个底层算法的评价指标值;超启发框架底层封装n个算法{LLH1,…,LLHn},每个底层算法依次执行一遍,即底层算法LLHi对初始种群进行演化得到新种群,再基于两个优化目标即平均代码覆盖率APSC和测试用例有效执行时间EET计算LLHi的评价指标初始值,该值衡量底层算法LLHi在两个优化目标上对初始种群的演化效果;步骤2:上层调度策略动态自适应调度底层算法;根据各个底层算法的评价指标值,使用epsilon轮盘赌-贪心选择算法调度一个底层算法并执行,基于此底层算法最近w次的执行情况更新其评价指标值;之后再通过epsilon轮盘赌-贪心选择算法调度一个底层算法进入下一次迭代;步骤2通过上层调度策略对底层算法进行动态迭代调度来达到种群在测试目标上的优化;步骤3:输出符合测试目标的最优测试用例执行序列;经过步骤2的循环往复迭代,若两个测试优化目标APSC和EET在连续10次迭代过程中的变化平均值都小于10-4,或超启发框架达到最大迭代次数10000代时,则终止运行,最终输出满足两个测试目标的最优解。

全文数据:

权利要求:

百度查询: 北京化工大学 一种基于利用和探索的超启发框架上层调度方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。