[发明专利]基于机器学习的循环不变式自动生成方法在审
申请号: | 201910630164.5 | 申请日: | 2019-07-12 |
公开(公告)号: | CN110377513A | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 路红;史玉石 | 申请(专利权)人: | 南京理工大学紫金学院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 李吉宽 |
地址: | 210046 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于机器学习自动生成循环不变式的方法。首先对含循环语句的计算机程序依据一定的算法得到循环语句的后置条件,构造循环语句对应的Hoare三元组;然后依据循环语句的前置条件随机生成测试数据,以这些测试数据为循环变量的初始值运行循环语句,收集程序状态,构造数据集SV;对数据集SV中的每一组数据依据Hoare三元组进行分类标注形成分类数据集;利用KSVM算法对所收集的分类数据集进行分类,生成候选循环不变式;利用反证法对生成的候选不变式进行有效性验证,得到经验证的有效循环不变式。本发明实现了面向可运行的C程序的自动生成循环不变式,且支持生成提供形式更加丰富的循环不变式,能够大大减少形式化验证中循环语句自动验证的工作量。 | ||
搜索关键词: | 循环不变式 循环语句 自动生成 分类数据集 测试数据 基于机器 三元组 算法 计算机程序 形式化验证 有效性验证 程序状态 构造数据 后置条件 前置条件 随机生成 循环变量 有效循环 运行循环 自动验证 经验证 数据集 组数据 分类 语句 工作量 标注 学习 | ||
【主权项】:
1.基于机器学习的循环不变式自动生成方法,其特征在于,包含以下步骤:步骤一,对含循环语句的计算机程序依据所设计的自动生成后置条件的算法得到所述循环语句的后置条件,构造上述程序中循环语句对应的Hoare三元组;步骤二,依据所述循环语句的前置条件随机生成测试数据,以这些测试数据为循环变量的初始值运行循环语句,收集程序状态,从而构造数据集SV;步骤三,对数据集SV中的每一组数据,依据Hoare三元组所定义的关系进行分类标注,形成分类数据集;步骤四,利用所设计的核向量机KSVM算法对所收集的分类数据集进行分类,从而生成候选循环不变式;步骤五,利用反证法对生成的候选循环不变式进行有效性验证,得到经验证的有效循环不变式。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学紫金学院,未经南京理工大学紫金学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910630164.5/,转载请声明来源钻瓜专利网。