[發明專利]一種參數一致性驗證方法及裝置有效
| 申請號: | 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.szxzyx.cn/pat/books/201810239209.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種結構化文本程序的自動化驗證方法
- 下一篇:一種應用程序部署方法及裝置





