Document
拖动滑块完成拼图
个人中心

预订订单
商城订单
发布专利 发布成果 人才入驻 发布商标 发布需求

请提出您的宝贵建议,有机会获取IP积分或其他奖励

投诉建议

在线咨询

联系我们

龙图腾公众号
首页 专利交易 IP管家助手 科技果 科技人才 积分商城 国际服务 商标交易 会员权益 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索
当前位置 : 首页 > 专利喜报 > 南京工业大学王兴亚获国家专利权

南京工业大学王兴亚获国家专利权

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

龙图腾网获悉南京工业大学申请的专利一种面向交易顺序依赖Root Cause的智能合约Flaky修复及验证方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119201702B

龙图腾网通过国家知识产权局官网在2026-01-27发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202411243514.X,技术领域涉及:G06F11/3668;该发明授权一种面向交易顺序依赖Root Cause的智能合约Flaky修复及验证方法是由王兴亚;陈倩;张威威;丁玲艳设计研发完成,并于2024-09-05向国家知识产权局提交的专利申请。

一种面向交易顺序依赖Root Cause的智能合约Flaky修复及验证方法在说明书摘要公布了:本发明提出一种面向交易顺序依赖RootCause的智能合约Flaky修复及验证方法。首先通过静态数据依赖分析,精准识别出与共享合约状态变量setter函数紧密相关的RootCause。接着,以setter函数作为目标,在setter函数中嵌入保护语句,即锁,以确保合约在修改状态变量之前进行状态检查。最后,将修改后的合约作为测试对象,将对状态变量具有写操作的语句作为关键节点,并将包含这些节点的执行路径定义为关键路径。以这些关键路径为测试目标,我们进行反复测试,观察合约在不同状态下的表现,从而验证修复补丁的有效性。本发明的目的在于提升智能合约的可靠性,增强测试结果的稳定性,优化开发流程,并促进区块链技术的健康发展,确保智能合约安全。

本发明授权一种面向交易顺序依赖Root Cause的智能合约Flaky修复及验证方法在权利要求书中公布了:1.一种面向交易顺序依赖RootCause的智能合约Flaky修复及验证方法,其特征在于,针对待测合约,首先通过静态数据依赖分析识别出由交易顺序依赖导致的FlakyTestRootCause,这些原因通常与共享合约状态变量的setter函数紧密相关,这些setter函数是修改状态变量的关键入口;接着,以setter函数作为目标,在setter函数中嵌入保护语句,即锁,以确保合约在修改状态变量之前进行状态检查;最后,将修改后的合约作为测试对象,将受状态变量影响的语句标记为关键节点,并将包含这些节点的执行路径定义为关键路径;通过将关键路径作为测试生成目标,并反复执行测试,能够观察合约在不同状态变量下的输出变化,从而验证修复后合约的有效性;最后输出已修复的合约repairedScut;该方法包括下列步骤: 1交易顺序依赖RootCause识别;给定待测合约scut,分析得到待测合约中公共函数Setter对状态变量具有写操作的语句集合stmts的字典map_settecr_stmts;首先初始化map_settecr_stmts为空,生成待测合约scut的抽象语法树ASTscut,然后从ASTscut中提取公共函数集合ListShare_Setters;然后构建待测合约scut的待测合约状态变量的数据依赖图dfgscut,dfgscut表示了合约中语句对状态变量的定义和使用情况;接下来遍历ListShare_Setters中每一个公共函数Setter,基于数据流分析识别对状态变量具有写操作的语句集合stmts,判断stms是否为空,如果stmts不为空,则将setter,stmts添加到map_state_setters中,否则继续遍历集合ListShare_Setters,直至为空;最后输出map_setter_stmts; 2智能合约修复;给定目标合约targetScut,以及目标合约的字典map_settecr_stmts,在不改变目标合约targetScut语义的前提下修复合约,得到已修复的合约repairedScut;首先根据遍历map_settecr_stmts中的key找到公共函数Setter的具体位置locationSetter,然后找到Setter函数对应的stmts,分析stmts得到受Setter影响的状态变量集合states;接着,在setter参数中为每一个state添加一个附件参数lockstate,该保护锁lockstate和状态变量state类型相同;遍历stmts中的每一条语句stmt,找到stmt的具体位置locationstmt,针对stmt增加一个保护语句guardStmt,以确保状态变量的当前值与调用者传递的预期值相对应,最后输出修复后后的合约repairedScut; 3面向关键路径的智能合约测试生成;给定修复后的合约repairedScut,以及该合约的字典map_settecr_stmts,得到测试用例集tests;通过生成包含不同交易顺序的测试用例,以覆盖修改后的相关语句;首先构建repairedScut的控制流图cfgrepairedScut,cfgrepairedScut表示了合约内各条语句之间的控制流转移关系;接着在cfgrepairedScut中找到包含stmts的节点nodes,将包含这些nodes且带有分支的路径定义为关键路径criticalPaths;然后将关键路径criticalPaths作为测试生成目标,采用模糊测试生成测试用例集tests; 4智能合约FlakyTestRootCause修复结果验证;给定已修复合约repairedScut,测试用例集tests,测试验证已修复的合约repairedScut;重复执行测试用例集tests直到达到预设次数L;对于每个测试用例,观察合约repairedScut在不同状态变量下的输出变化,并记录当前执行的输出结果resulti和下一次执行的输出结果resultj,比较resulti和resultj是否一致;如果测试用例在多次运行中结果始终一致,则可以认为该FlakyTest已经被成功修复;最后输出已修复的合约repairedScut。

如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人南京工业大学,其通讯地址为:211816 江苏省南京市江北新区浦珠南路30号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。

以上内容由龙图腾AI智能生成。

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