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

一种Python程序API参数兼容性问题自动修复方法 

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

申请/专利权人:南京航空航天大学

摘要:本发明公开了一种Python程序API参数兼容性问题自动修复方法,包括:利用AST抽象语法树,抽取用户项目中的调用API;利用代码插桩法并运行用户项目,获取每个调用API的上下文信息,并以二进制的形式将其序列化地保存到Pickle文件中;获取项目中调用API在新旧版本中的参数定义,建立新旧版本API签名的映射关系;建立参数在两个版本间的映射关系,通过分析每个参数的类型、参数的变更类型以及参数的传递方式来综合评估调用API在两个库版本间的兼容性问题;利用AST抽象语法树定位具有破坏性变更的API并对其进行修复,最后对修复的结果进行自动化验证。本发明提高了对API参数删除、增加、重命名、位置变更以及位置参数转变为关键字参数等兼容性问题的检测和修复的准确率。

主权项:1.一种Python程序API参数兼容性问题自动修复方法,其特征在于,包括以下步骤:1利用抽象语法树,抽取项目中指定的第三方库的调用API;2通过代码插桩法,对步骤1得到的调用API进行插桩,记录每个调用API的上下文信息;再通过运行插桩后项目,将API的上下文信息以二进制的形式序列化地保存的Pickle文件中;3利用步骤1得到的调用API,通过基于Pythoninspect模块的动态和基于API全称调用路径的静态方法,来获取项目中调用API在新旧版本中的参数定义,建立新旧版本API签名的映射关系;4利用步骤3获取的参数定义,通过基于参数名、参数位置和参数类型三个规则,建立API参数在两个库版本间的映射关系,再通过分析每个参数类型、参数的变更类型以及参数的传递方式来评估API在两个版本间的兼容性问题,并生成一个参数变更类型字典;5对步骤4评估出的不兼容API,基于AST抽象语法树对其进行定位并修复,最后再采用动态和静态相结合的方法,对修复后的结果进行自动化验证。

全文数据:

权利要求:

百度查询: 南京航空航天大学 一种Python程序API参数兼容性问题自动修复方法

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