代码改动范围确定方法、装置、设备、介质和程序产品制造方法及图纸

技术编号:38230814 阅读:22 留言:0更新日期:2023-07-25 17:59
本公开提供了一种代码改动范围确定方法,可以应用于信息安全技术领域。该代码修改范围确定方法包括:获取修改变量、源程序代码和语法树,其中,语法树包括多个语法,语法包括第一语法和第二语法,第一语法是贴源翻译的语法,第二语法是定制化的语法;基于修改变量作为查询关键字查询源程序代码中的修改对象;对于数据结构对象,通过数据结构对象作为查询关键字查询第一语法,得到代码改动影响范围;以及对于过程对象,通过过程对象作为查询关键字查询第一语法,得到代码改动影响范围,和/或,通过过程对象作为查询关键字查询第二语法,得到代码改动影响范围。本公开还提供了一种代码改动范围确定装置、设备、存储介质和程序产品。存储介质和程序产品。存储介质和程序产品。

【技术实现步骤摘要】
代码改动范围确定方法、装置、设备、介质和程序产品


[0001]本公开涉及信息安全
,更具体地涉及一种代码改动范围确定方法、装置、设备、介质和程序产品。

技术介绍

[0002]信创转型过程中,需要通过代码迁移的手段,将旧系统中大量的旧程序语言转化为能够适配新系统的新程序语言。一般而言,一个大型系统的迁移往往无法在一个版本中实现完全迁移。在系统迁移的过程中,旧系统依旧可能需要进行业务功能的改造升级。为此,需要通过确定代码改动的影响范围指导迁移。
[0003]现有技术中,一般采用通过字符串从旧程序中查找改动变量,进而确定代码改动的影响范围。这种方法并不能体现程序逻辑间的关系,而且单纯的通过字符串查找,不仅工作量大,很难评估影响范围。更重要的是,旧程序语言和新程序语言的语法也并非完全能够一一对应实现直接替换的,也就是说,通过查找旧程序中的变量的逻辑关系,也无法直接适用于新程序的生成。

技术实现思路

[0004]鉴于上述问题,本公开提供了提高准确性和全面性的代码改动范围确定方法、装置、设备、介质和程序产品
[000本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码改动范围确定方法,包括:获取修改变量、源程序代码和语法树,其中,所述语法树包括多个语法,所述语法包括第一语法和第二语法,所述第一语法是贴源翻译的语法,所述第二语法是定制化的语法;基于所述修改变量作为查询关键字查询所述源程序代码中的修改对象,其中,所述修改对象的类型包括数据结构对象和/或过程对象;对于所述数据结构对象,通过所述数据结构对象作为查询关键字查询所述第一语法,直接得到代码改动影响范围;以及对于所述过程对象,通过所述过程对象作为查询关键字查询所述第一语法,直接得到代码改动影响范围,和/或,通过所述过程对象作为查询关键字查询所述第二语法,间接得到代码改动影响范围。2.根据权利要求1所述的方法,其中,所述基于所述修改变量作为查询关键字查询所述源程序代码中的修改对象,包括:基于所述查询关键字遍历所述源程序代码,得到所述修改变量涉及的修改对象;确定所述修改对象的类型;对于所述数据结构对象,确定当前的修改对象作为最终的修改对象;以及对于所述过程对象,按照预设逻辑,通过所述修改变量确定最终的修改对象。3.根据权利要求2所述的方法,其中,所述对于所述过程对象,按照预设逻辑,通过所述修改变量确定最终的修改对象,包括:触发于预设的赋值标识获取受所述修改变量影响的相关变量,其中,所述相关变量包括直接受所述赋值标识影响的变量和间接受所述赋值标识影响的变量;以及基于所述修改变量和所述相关变量作为查询关键字遍历所述源程序代码,得到涉及所述修改变量和所述相关变量的修改对象。4.根据权利要求3所述的方法,其中,在所述基于查询预设的赋值标识获取受所述修改变量影响的相关变量前,还包括:判断所述查询关键字是否处在调用其他程序的参数中;在所述查询关键字处于调用其他程序的参数中的情况下,判断被调用存储过程的形参和实参是否一致;以及在所述形参和所述实参不一致的情况下,将所述形参和所述实参作为所述修改变量。5.根据权利要求1

4任一项所述的方法,其中,所述对于所述数据结构对象,通过所述数据结构对象作为查询关键字查询所述第一语法,直接得到代码改动影响范围,包括:基于所述查询关键字查询所述语法树,得到改动对象;以及基于所述改动对象,通过预设的映射关系,确定目标代码改动影响范围,得到目标程序代码改动影响范围,所述预设的映射关系是源程序代码和目标程序代码中语法的一一对应的映射关系;和/或所述对于...

【专利技术属性】
技术研发人员:何子南王凯李炯
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1