摘要
本发明公开了一种Python程序API参数兼容性问题自动修复方法,包括:利用AST抽象语法树,抽取用户项目中的调用API;利用代码插桩法并运行用户项目,获取每个调用API的上下文信息,并以二进制的形式将其序列化地保存到Pickle文件中;获取项目中调用API在新旧版本中的参数定义,建立新旧版本API签名的映射关系;建立参数在两个版本间的映射关系,通过分析每个参数的类型、参数的变更类型以及参数的传递方式来综合评估调用API在两个库版本间的兼容性问题;利用AST抽象语法树定位具有破坏性变更的API并对其进行修复,最后对修复的结果进行自动化验证。本发明提高了对API参数删除、增加、重命名、位置变更以及位置参数转变为关键字参数等兼容性问题的检测和修复的准确率。
技术关键词
自动修复方法
兼容性问题
参数
关键字
抽象语法树
语句
建立映射关系
项目
广度优先搜索算法
深度优先搜索算法
程序
位置变更
定义
动态方法
节点
列表
字典
模块
系统为您推荐了相关专利信息
轨迹隐私保护方法
转移概率矩阵
LBS系统
服务器网络系统
梯度下降算法
汽轮机状态监测
齿轮箱状态监测
状态监测方法
振动特征
振动监测数据
指纹图像修复方法
数据分布
噪声图像
指纹特征
随机噪声