[發明專利]基于圖與概率的問題代碼協助定位方法、裝置和存儲介質在審
| 申請號: | 202011084186.5 | 申請日: | 2020-10-12 |
| 公開(公告)號: | CN112131132A | 公開(公告)日: | 2020-12-25 |
| 發明(設計)人: | 張燁;賀計文 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F16/901;G06F16/903 |
| 代理公司: | 濟南誠智商標專利事務所有限公司 37105 | 代理人: | 王敏 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 概率 問題 代碼 協助 定位 方法 裝置 存儲 介質 | ||
本發明公開了一種基于圖與概率的問題代碼協助定位方法、裝置和存儲介質,涉及軟件測試維護技術領域。所述方法通過將代碼的函數調用關系以圖的形式存儲在計算機內存中,并將各函數的調用次數信息存儲在圖的數據結構中;然后查詢問題所在的函數,將問題函數導入存儲圖的內存中分析調用關系;接下來根據調用次數的大小按序輸出調用問題函數的關聯函數。本發明方案使用圖及概率的算法,依據概率計算出最可能出現問題的代碼函數并對其排序后提供給使用者參考,從而有效協助工程師進行問題分析,減少了通過在函數中添加打印語句的方式進行問題查找,提高了工程師分析處理問題的效率。
技術領域
本發明實施例涉及軟件測試維護技術領域,具體來說涉及一種基于圖與概率的問題代碼協助定位方法、裝置和存儲介質。
背景技術
圖論以圖為研究對象,是數學的一個分支。圖論中的圖是由若干給定的點及連接兩點的線所構成的圖形,這種圖形通常用來描述某些事物之間的某種特定關系。其中,用點代表事物,用連接兩點的線表示相應的兩個事物間具有這種關系。
在開發程序的過程中,除了靜態分析代碼的各種工具可以幫助我們檢查部分代碼的問題外,幾乎沒有工具能夠協助我們分析程序在運行過程中各種隱藏的代碼問題或邏輯問題。這些問題很多會在運行的過程中隨機出現,有些是長時間運行,有些是在某種特定場景下運行,而根據運行錯誤的提示進行問題分析時,一是極大可能沒有多余的線索供我們分析,二是有些問題不知道其產生的原因,所以很難復現。針對上述問題,我們現有的處理方法只能是通過在盡可能多的地方添加打印語句,然后再嘗試復現來進行分析處理。
基于現有技術中存在的不足,本發明提供一種基于圖與概率的問題代碼協助定位方法、裝置和存儲介質,協助工程師進行問題分析,減少在函數中添加打印語句,提高分析處理問題的效率。
發明內容
本發明實施例提供了一種基于圖與概率的問題代碼協助定位方法、裝置和存儲介質,根據函數之間的調用關系和調用次數,快速有效的確定出現問題的函數及與其相關聯的函數,協助工程師進行問題分析,提高處理效率。
為實現上述目的,本發明公開了如下技術方案:
本發明一方面提供一種基于圖與概率的問題代碼協助定位方法,所述方法包括以下步驟:
將代碼的函數調用關系以圖的形式存儲在計算機內存中,并將各函數的調用次數信息存儲在圖的數據結構中;
查詢問題所在的函數,將問題函數導入存儲圖的內存中分析調用關系;
根據調用次數的大小按序輸出調用問題函數的關聯函數。
基于上述方案,進一步的,所述將代碼的函數調用關系以圖的形式存儲在計算機內存中,并將各函數的調用次數信息存儲在圖的數據結構中,包括下述步驟:
靜態掃描代碼,分析各個函數之間的相互調用關系及調用次數;
采用深度優先方式生成圖結構,并以二維數組形式保存在計算機內存中;
將各個函數的調用次數記錄在圖中對應函數的節點中,并將函數名設置為圖的節點屬性,函數之間的調用關系及調用次數設置為圖的邊屬性。
進一步的,所述查詢問題所在的函數,將問題函數導入存儲圖的內存中分析調用關系,包括下述步驟:
當程序運行出現問題時,查詢問題所在的函數名稱;
將問題函數的名稱導入存儲圖的內存中,遍歷全圖查找調用問題函數的關聯函數;
將關聯函數基于調用問題函數的次數進行排序。
如上所述的基于圖與概率的問題代碼協助定位方法,所述根據調用次數的大小按序輸出調用問題函數的關聯函數后,依據問題函數與關聯函數之間的關系,進行問題代碼的協助定位。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011084186.5/2.html,轉載請聲明來源鉆瓜專利網。





