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