国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:甘水滔,王林章,谢向辉,秦晓军,周林,陈左宁
单位:甘水滔,数学工程与先进计算国家重点实验室, 江苏 无锡 21408311,王林章,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002302,谢向辉,数学工程与先进计算国家重点实验室, 江苏 无锡 21408303,秦晓军,数学工程与先进计算国家重点实验室, 江苏 无锡 21408304,周林,数学工程与先进计算国家重点实验室, 江苏 无锡 21408305,陈左宁,数学工程与先进计算国家重点实验室, 江苏 无锡 21408306
关键词:制导符号执行;分支覆盖率;指令覆盖率;搜索策略;程序切片
基金:国家自然科学基金(91318301,61170066,6147179)
提出了一种基于程序功能标签切片的制导符号执行分析方法OPT-SSE.该方法从程序功能文档提取功能标签,利用程序控制流分析,建立各功能标签和程序基本块的映射关系,并根据功能标签在程序执行中的顺序关系生成功能标签执行流.针对给定的代码目标点,提取与之相关的功能执行流切片,根据预定义好的功能标签流制导规则进行符号执行分析,在路径分析过程中,及时裁剪无关的功能分支路径以提升制导效率.通过对不同的功能标签流进行分离制导符号执行分析,可避免一直执行某复杂循环体的情形,从而提高对目标程序的整体分支覆盖率和指令覆盖率.实验结果表明,通过对binutils、gzip、coreutils等10个不同软件中的20个应用工具上的分析,OPT-SSE与KLEE提供的主流搜索策略相比,代码目标制导速度平均提升到4.238倍,代码目标制导成功率平均提升了31%,程序指令覆盖率平均提升了8.95%,程序分支覆盖率平均提升了8.28%.
来源:2019年第11期
《软件学报》期刊编辑部