[发明专利]一种参数一致性验证方法及装置有效
申请号: | 201810239209.1 | 申请日: | 2018-03-22 |
公开(公告)号: | CN108446122B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 庄为;李诗宇;许佳丽 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 杨华;王宝筠 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 参数 一致性 验证 方法 装置 | ||
本申请提供了一种参数一致性验证方法及装置,从源代码中获取形参和实参的信息,并得到形参长度和实参长度是否相同的结果,在不相同的情况下,输出形参和实参在源代码中的位置信息,能够提示编程人员,编程人员可以及时修正,以避免在运行过程中出现内存访问越界的问题。与人工排查的方式相比,具有更高的准确性。
技术领域
本申请涉及电子信息领域,尤其涉及一种参数一致性验证方法及装置。
背景技术
在COBOL语言编写的源代码中,形式参数(简称形参)是指子程序(被调程序)中定义的入口参数。实质参数(简称实参)是指主程序(主调程序)调用子程序时,传递的参数。
由于程序员的失误等原因,在源代码中,形参与实参的长度可能不同。在此情况下,在源代码的编译和运行过程,会出现因为参数的内存空间占用不一致而导致的内存访问越界问题。
现有技术中,通过人工复查源代码的方式避免这种问题的出现,但这种方式容易出现遗漏,所以,并不能完全避免因为参数的内存空间占用不一致而导致的内存访问越界问题。
发明内容
本申请提供了一种参数一致性验证方法及装置,目的在于解决因为形参和实参的内存空间占用不一致而导致的内存访问越界的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种参数一致性验证方法,包括:
从源代码的程序中,获取形参和实参的长度信息;
比较形参的长度与实参的长度是否相同,并生成比较结果;
如果所述比较结果指示所述形参的长度与所述实参的长度不相同,则输出所述形参和所述实参在所述源代码中的位置信息。
可选的,所述获取形参和实参的长度信息包括:
将所述形参和所述实参的长度信息保存在预设的数据表中,所述数据表包括:E_PARM_LIST表和C_PARM_LIST表;
所述E_PARM_LIST表用于存放所述程序的入口的形参的长度信息;
C_PARM_LIST表用于存放所述程序中的CALL语句中的实参长度信息。
可选的,所述E_PARM_LIST表还用于:
存放为所述形参分配的唯一编号、所述形参所属的所述程序的入口的唯一编号、所述形参的顺序编号和所述形参的名称。
可选的,所述C_PARM_LIST表还用于:
存放为所述实参分配的唯一编号、所述实参所属的所述程序中的CALL语句的唯一编号、所述实参的顺序编号和所述实参的名称。
可选的,所述数据表还包括:
PGM表,用于存放所述源代码中的程序的信息;
PGM_ENTRY表:用于存放所述程序的入口信息;
CALL_STMT表:用于存放所述程序中的CALL语句的信息;
其中,所述PGM表中包括为所述程序分配的唯一编号、所述程序的名称和所述程序的存储路径;
所述PGM_ENTRY表中包括:为所述程序的入口分配的唯一编号、所述程序的入口所属的程序的唯一编号、所述程序的入口的顺序编号、所述程序的入口的名称以及所述程序的入口在所述源代码中的位置信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810239209.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种结构化文本程序的自动化验证方法
- 下一篇:一种应用程序部署方法及装置