[发明专利]一种基于线性规划预测的符号执行优化方法及装置有效
申请号: | 202011197098.6 | 申请日: | 2020-10-30 |
公开(公告)号: | CN112162932B | 公开(公告)日: | 2022-07-19 |
发明(设计)人: | 陈振邦;王戟;毛晓光;董威;文艳军;李姗姗;陈立前;尹良泽;帅子琦 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 胡君 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 线性规划 预测 符号 执行 优化 方法 装置 | ||
本发明公开一种基于线性规划预测的符号执行优化方法及装置,该方法步骤包括:S1.对待测源程序进行符号执行的过程中,收集分支条件信息,生成对应探索路径上的位向量路径约束;S2.在求解各探索路径上的路径约束前,预先扫描各位向量路径约束;S3.判断各位向量路径约束中是否存在数组操作,如果不存在,则直接转换为线性规划模型;如果存在,则根据数组内容信息,转换为对应的线性规划模型;S4.求解得到的线性规划模型并进行可满足性判断,如果判断结果不是不可满足的,则将对应的位向量约束传递给约束求解器以进行求解。本发明具有实现方法简单、效率高,能够快速检测数组约束的不可满足性,提高可达路径探索能力等优点。
技术领域
本发明涉及软件自动测试中符号执行技术领域,尤其涉及一种基于线性规划预测的符号执行优化方法及装置。
背景技术
在软件开发流程中,测试是必不可少的一环。软件测试通过构造不同的测试用例来执行软件,期望尽早地发现软件中的漏洞。目前,测试用例一般都是人工构造的,存在构造成本高、构造效率低的问题,难以达到理想的覆盖率。测试用例自动生成技术旨在通过软件手段实现测试用例的自动化生成,从而提高软件测试的效率。符号执行是测试用例自动生成技术中的重要分支,可以有效生成高覆盖率的测试用例。在符号执行过程中,程序的输入被符号化。符号执行器通过符号输入来执行程序,构建符号路径条件并转换成位向量形式的路径约束加以求解,从而达到系统探索程序路径的目的,在这个过程里,约束求解的作用至关重要。每当一条程序路径被探索完时,符号执行器就调用约束求解器来求解该条路径上的约束,只有当该条路径上的约束是可满足的,也即存在某个解使得路径约束为真,符号执行器才能根据约束求解器返回的解构造测试用例。
约束求解是符号执行中最主要的性能瓶颈,也是影响符号执行高效生成测试用例的关键因素。目前符号执行时使用的约束求解器通常是基于可满足性模理论(Satisfiability-Modulo Theory,SMT)的,即SMT求解器,符号执行中产生的约束被转换成SMT公式后,再通过该SMT求解器检查其可满足性。SMT公式是一种结合了不同背景理论的一阶逻辑公式,包括整数理论、位向量理论、数组理论等。而在符号执行场景下,通常是使用位向量理论和数组理论综合的SMT公式,其可满足性的判定问题是一个NPC(Non-deterministic Polynomial Complete)问题。在实际程序中,往往会存在大量不可达的路径,因此对这些程序做符号执行会生成大量不可满足的路径约束,使得SMT求解器需要花费大量时间来判断这些约束的不可满足性。而且,由于这些路径约束不存在解,符号执行器无法生成对应的测试用例,造成大量不必要的时间耗费。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、效率高的基于线性规划预测的符号执行优化方法及装置,能够在符号执行过程中快速检测数组约束的不可满足性,提高符号执行过程中可达路径的探索能力。
为解决上述技术问题,本发明提出的技术方案为:
一种基于线性规划预测的符号执行优化方法,步骤包括:
S1.路径约束生成:对待测源程序的中间码进行符号执行的过程中,收集各分支指令处的分支条件信息,并生成对应探索路径上的位向量路径约束;
S2.扫描判断:在求解各探索路径上的路径约束前,预先扫描各所述位向量路径约束,若所述位向量路径约束中不包含非线性操作且不包含无法线性化的操作,转入步骤S3;
S3.模型构建:判断所述位向量路径约束中是否存在数组操作,如果不存在,则直接将所述位向量路径约束转换为线性规划模型;如果存在,则根据所述位向量路径约束中的数组内容信息对数组操作进行抽象处理,然后再转换为对应的线性规划模型;
S4.模型求解:求解得到的所述线性规划模型并判断可满足性,如果判断结果不是不可满足的,则将对应的所述位向量约束传递给约束求解器以进行求解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011197098.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种5G基站用快速散热装置
- 下一篇:灯具