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

【发明授权】构建调用链转换图及引导生成X.509证书变种方法_上海交通大学_202010434699.8 

申请/专利权人:上海交通大学

申请日:2020-05-21

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

公开(公告)号:CN113704078B

主分类号:G06F11/36

分类号:G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2024.02.06#授权;2021.12.14#实质审查的生效;2021.11.26#公开

摘要:一种构建调用链转换图及引导生成X.509证书变种方法,通过构建测试种子集并输入目标测试程序,得到动态执行中的函数调用链信息并映射为调用链转换图中的初始节点;循环对调用链转换图中的取样节点通过变种算子生成新的变种测试用例并根据变种测试用例对应更新调用链转换图,直至生成目标数量的测试用例。本发明充分利用了测试用例集生成过程中的函数调用链信息,通过调用链转换图有效快速的生成多样化的测试用例,从而提升测试的效率。

主权项:1.一种构建调用链转换图及引导X.509证书生成变种方法,其特征在于,通过构建测试种子集并输入目标测试程序,得到动态执行中的函数调用链信息并映射为调用链转换图中的初始节点;循环对调用链转换图中的取样节点通过变种算子生成新的变种测试用例并根据变种测试用例对应更新调用链转换图,直至生成目标数量的测试用例;所述的映射是指:调用链转换图中的节点和测试用例对应,图的一个节点是一个测试用例集合,该测试用例集合中的任意一个测试用例在目标测试程序上得到的函数调用链是一致的;所述的取样是指:通过计算潜力值并挑选节点和节点中的测试用例以用于生成变种;所述的变种是指:对一个现有的测试用例进行修改生成一个新的测试用例,其实现方式视具体的测试场景而言,可自定义具体的变种方式也可对接已有的模糊测试工具如AFL对测试用例进行修改而生成新的测试用例,在针对X.509证书测试的应用场景中,变种算子可采用mucert工具中提供的变种方法;所述的更新调用链转换图是指:以更新后的变种测试用例作为输入得到目标测试程序运行时的函数调用链,更新中间文件并映射为转换图中的新节点,构造一条调用链转换图中取样节点和新节点之间的边并更新取样节点所有边的权值;所述的调用链转换图是带权重的有向图G=V,E,W,其中:V为节点集合,每个节点映射为对应的函数调用链hash值,当两个测试用例同属于一个节点,则对应的函数调用链hash值相同,说明其在目标测试程序上的执行路径相同;E为调用链转换边的集合,当一个节点为u,另一个节点为v,u中的一个测试用例在进行变种后得到一个属于节点v的测试用例,则得到一条从节点u指向节点v的边,用u-v来标记,则整个边集合为w为边上的权重集合,使用w=weightu-v表示在给定节点u的情况下得到指向v节点的概率,从节点u出发的所有边的权重和为1,即所述的通过变种算子生成新的变种测试用例是指:使用潜能函数计算每个节点的潜力值其中:Outn表示节点n的出度,Mutaten表示节点n被选中进行变种的次数,在每个节点按照潜力值降序存进队列后,再从队列中选取序号为k的节点,其中:|array|表示数组的大小,rand为0-1的随机数,ε为图中每个节点都没有被选中的概率,随机选取选中节点中的一个测试用例通过变种算子进行修改以生成变种;所述的变种算子根据目标测试程序自定义,将根据变种算子修改后生成的变种测试用例添加回测试集中。

全文数据:

权利要求:

百度查询: 上海交通大学 构建调用链转换图及引导生成X.509证书变种方法

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

相关技术
相关技术
相关技术
相关技术