[發明專利]一種java程序動態分析方法、設備和存儲介質有效
| 申請號: | 201810817527.1 | 申請日: | 2018-07-24 |
| 公開(公告)號: | CN109308256B | 公開(公告)日: | 2021-08-27 |
| 發明(設計)人: | 劉正;趙繼光 | 申請(專利權)人: | 中國建設銀行股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 郝傳鑫 |
| 地址: | 100032 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 java 程序 動態 分析 方法 設備 存儲 介質 | ||
本申請提供一種java程序動態分析方法,包括:修改java開發包中字符串string類的預定方法;為待分析程序的傳入參數賦值,所述賦值包括預埋字符串;動態執行所述待分析程序,確定被比較的兩個字符串是否包含預埋字符串,響應于所述兩個字符串中的一個字符串為預埋字符串,將所述兩個字符串中的另一個字符串作為所述待分析程序的關鍵參數值。本申請提供的方法能夠不進行語法和語義分析而直接進行程序的動態分析。
技術領域
本發明涉及計算機領域,具體而言,涉及一種java程序動態分析方法、設備和存儲介質。
背景技術
隨著軟件規模的不斷擴大,測試規模和工作量也相應增加,為了最大限度的減少人工成本同時提高測試效率效果,提供軟件系統安全性和健壯性,自動化程序分析、自動化測試案例生成和執行等自動化測試方向是研究人員不斷探索的方向。
近些年軟件系統架構朝著松耦合、輕接口、重架構、重容器的方向發展,系統復雜度不斷上升,一般的語法和語義分析為主的代碼分析方式很難適應不斷復雜的軟件系統,其應用范圍受到了限制。
發明內容
本發明實施方式提供一種java程序動態分析方法,自動獲取待分析程序中的關鍵參數值及程序調用的資源情況,從而為測試案例自動生成、程序正確性檢查、程序質量和漏洞檢測、覆蓋度分析等提供基礎數據,避免傳輸的語法和語義分析為主的代碼分析方式,因此對較為復雜的軟件軟件,易用性更好。
第一方面,本發明實施方式提供一種java程序動態分析方法,其特征在于,包括:修改java開發包中字符串string類的預定方法;為待分析程序的傳入參數賦值,所述賦值包括預埋字符串;動態執行所述待分析程序,確定被比較的兩個字符串是否包含預埋字符串,響應于所述兩個字符串中的一個字符串為預埋字符串,將所述兩個字符串中的另一個字符串作為所述待分析程序的關鍵參數值。
第二方面,本發明實施方式提供一種計算機設備,包括存儲器和處理器,其中,存儲器,存儲有計算機指令;處理器,配置為運行所述計算機指令以使所述計算機設備執行第一方面所述的方法。
第三方面,本發明實施方式提供一種計算機可讀存儲介質,其上存儲有計算機指令,所述計算機指令被存儲器執行時實現第一方面所述的方法。
附圖說明
圖1示出了根據本發明實施方式的java程序動態分析方法的流程示意圖。
圖2示出了根據本發明實施例的測試案例。
圖3示出了根據本發明實施例的代碼片段截圖。
圖4示出了根據本發明實施例的代碼片段截圖。
圖5示出了根據本發明實施例的代碼片段截圖。
圖6示出了根據本發明實施例的計算機設備的結構示意圖。
具體實施方式
以下結合附圖和具體實施方式對本發明的各個方面進行詳細闡述。其中,眾所周知的模塊、單元及其相互之間的連接、鏈接、通信或操作沒有示出或未作詳細說明。并且,所描述的特征、架構或功能可在一個或一個以上實施方式中以任何方式組合。本領域技術人員應當理解,下述的各種實施方式只用于舉例說明,而非用于限制本發明的保護范圍。還可以容易理解,本文所述和附圖所示的各實施方式中的模塊或單元或處理方式可以按各種不同配置進行組合和設計。
參見圖1,圖1示出了根據本發明實施方式的java程序動態分析方法的流程示意圖,該方法可包括:步驟S101、步驟S102和步驟S103,接下來結合具體的實施例對上述步驟進行說明。
步驟S101,修改java開發包中字符串string類的預定方法。
在本發明的實施例中,根據分析需要對java開發包中的字符串string類的源代碼,例如,string類的equals方法對應的源代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國建設銀行股份有限公司,未經中國建設銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810817527.1/2.html,轉載請聲明來源鉆瓜專利網。





