摘要

为解决现有的导向性灰盒测试工具生成的输入中能够到达目标代码段的输入占比较低的问题,文章提出一种基于距离导向的变异方法。该方法利用强化学习算法,以最小化新输入与目标代码段之间的距离为目标,使得导向性灰盒测试在生成输入时选择生成的新输入与目标代码段之间距离最小的修改动作,从而提高到达目标代码段的输入占比。文章实现了基于该变异方法的导向性灰盒测试工具,并与现有的导向性灰盒测试工具进行对比,结果表明,基于文中的变异方法的导向性灰盒测试工具能够有效提升到达目标代码段的输入占比。