[發(fā)明專利]過(guò)程間的空指針解引用檢測(cè)方法、系統(tǒng)、設(shè)備以及介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 201811014686.4 | 申請(qǐng)日: | 2018-08-31 |
| 公開(公告)號(hào): | CN109426615B | 公開(公告)日: | 2022-01-28 |
| 發(fā)明(設(shè)計(jì))人: | 肖梟;時(shí)清凱;周金果;范剛 | 申請(qǐng)(專利權(quán))人: | 深圳市源傘新科技有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京博思佳知識(shí)產(chǎn)權(quán)代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 518055 廣東省深圳市南山區(qū)西麗街道*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 過(guò)程 指針 引用 檢測(cè) 方法 系統(tǒng) 設(shè)備 以及 介質(zhì) | ||
1.一種過(guò)程間的空指針解引用檢測(cè)方法,其特征在于,包括:
對(duì)待檢測(cè)程序進(jìn)行預(yù)處理;
生成所述待檢測(cè)程序中的主調(diào)函數(shù)的符號(hào)表達(dá)式圖和被調(diào)函數(shù)的符號(hào)表達(dá)式圖,所述符號(hào)表達(dá)式圖包括值節(jié)點(diǎn)、運(yùn)算符節(jié)點(diǎn),以及連接節(jié)點(diǎn)的數(shù)據(jù)依賴性邊和控制依賴性邊,其中,值節(jié)點(diǎn)包括終端值節(jié)點(diǎn)和非終端值節(jié)點(diǎn),終端值節(jié)點(diǎn)表示當(dāng)前函數(shù)外生成的未知的值或常量,所述終端值節(jié)點(diǎn)包括當(dāng)前函數(shù)可訪問(wèn)的參數(shù)、全局變量和堆位置的值,非終端值節(jié)點(diǎn)表示當(dāng)前函數(shù)內(nèi)生成的值,并且每個(gè)非終端值與一個(gè)唯一的內(nèi)存地址相關(guān)聯(lián),所述數(shù)據(jù)依賴性邊是將節(jié)點(diǎn)連接到與其有直接數(shù)據(jù)依賴關(guān)系的值節(jié)點(diǎn)的有向邊,所述控制依賴性邊是當(dāng)存在限定變量的條件時(shí)將變量連接到條件的所述有向邊,所述控制依賴性邊對(duì)應(yīng)的箭頭側(cè)的節(jié)點(diǎn)是運(yùn)算符節(jié)點(diǎn);
根據(jù)所述被調(diào)函數(shù)的符號(hào)表達(dá)式圖對(duì)所述被調(diào)函數(shù)進(jìn)行過(guò)程內(nèi)分析,以檢測(cè)所述被調(diào)函數(shù)中的空指針以及生成所述被調(diào)函數(shù)的函數(shù)摘要;
將所述被調(diào)函數(shù)的所述函數(shù)摘要嵌入所述主調(diào)函數(shù);
根據(jù)所述主調(diào)函數(shù)的符號(hào)表達(dá)式圖對(duì)所述主調(diào)函數(shù)進(jìn)行過(guò)程內(nèi)分析,以檢測(cè)所述主調(diào)函數(shù)中的空指針解引用。
2.根據(jù)權(quán)利要求1所述的過(guò)程間的空指針解引用檢測(cè)方法,其特征在于,所述函數(shù)摘要包括符號(hào)摘要、輸入摘要以及輸出摘要;所述將所述被調(diào)函數(shù)的所述函數(shù)摘要嵌入所述主調(diào)函數(shù),還包括:
通過(guò)被嵌入后的所述輸入摘要獲得所述被調(diào)函數(shù)中的空指針解引用并生成第一錯(cuò)誤報(bào)告;
通過(guò)被嵌入后的所述輸出摘要獲得所述被調(diào)函數(shù)的輸出變量的空指針解引用并生成第二錯(cuò)誤報(bào)告;
所述符號(hào)摘要用于向所述主調(diào)函數(shù)傳遞實(shí)例化后的所述被調(diào)函數(shù)的所述輸出變量。
3.根據(jù)權(quán)利要求2所述的過(guò)程間的空指針解引用檢測(cè)方法,其特征在于,所述根據(jù)所述被調(diào)函數(shù)的符號(hào)表達(dá)式圖對(duì)所述被調(diào)函數(shù)進(jìn)行過(guò)程內(nèi)分析,以檢測(cè)所述被調(diào)函數(shù)中的空指針以及生成所述被調(diào)函數(shù)的函數(shù)摘要,具體包括以下步驟:
從空指針節(jié)點(diǎn)開始對(duì)所述被調(diào)函數(shù)的所述符號(hào)表達(dá)式圖向后進(jìn)行深度優(yōu)先遍歷,以獲得所述被調(diào)函數(shù)中的發(fā)生空指針解引用的第一變量;
根據(jù)所述第一變量生成空指針解引用錯(cuò)誤報(bào)告;
若所述第一變量的路徑約束中包括所述被調(diào)函數(shù)的輸入變量,則根據(jù)所述第一變量生成所述輸入摘要。
4.根據(jù)權(quán)利要求3所述的過(guò)程間的空指針解引用檢測(cè)方法,其特征在于,所述輸入摘要為一五元組其中:R為報(bào)告鍵值,I為輸入變量,C為路徑約束集,D為摘要描述,S為檢查特定信息。
5.根據(jù)權(quán)利要求2所述的過(guò)程間的空指針解引用檢測(cè)方法,其特征在于,所述根據(jù)所述被調(diào)函數(shù)的符號(hào)表達(dá)式圖對(duì)所述被調(diào)函數(shù)進(jìn)行過(guò)程內(nèi)分析,以檢測(cè)所述被調(diào)函數(shù)中的空指針以及生成所述被調(diào)函數(shù)的函數(shù)摘要,具體包括以下步驟:
根據(jù)所述被調(diào)函數(shù)的所述符號(hào)表達(dá)式圖獲得所述被調(diào)函數(shù)的輸出變量,以及所述輸出變量的路徑約束;
根據(jù)所述被調(diào)函數(shù)的所述輸出變量和所述輸出變量的所述路徑約束生成所述被調(diào)函數(shù)的符號(hào)摘要。
6.根據(jù)權(quán)利要求5所述的過(guò)程間的空指針解引用檢測(cè)方法,其特征在于,所述符號(hào)摘要為一三元組,其中:I為所述被調(diào)函數(shù)的輸入變量集合,O為所述被調(diào)函數(shù)的輸出變量集合,C為路徑約束集合。
7.根據(jù)權(quán)利要求2所述的過(guò)程間的空指針解引用檢測(cè)方法,其特征在于,所述根據(jù)所述被調(diào)函數(shù)的符號(hào)表達(dá)式圖對(duì)所述被調(diào)函數(shù)進(jìn)行過(guò)程內(nèi)分析,以檢測(cè)所述被調(diào)函數(shù)中的空指針以及生成所述被調(diào)函數(shù)的函數(shù)摘要,具體包括以下步驟:
根據(jù)所述輸出變量的路徑約束,判斷所述輸出變量是否存在發(fā)生空指針解引用的所述路徑約束:
若存在,則根據(jù)所述輸出變量和所述路徑約束生成所述被調(diào)函數(shù)的所述輸出摘要。
8.根據(jù)權(quán)利要求7所述的過(guò)程間的空指針解引用檢測(cè)方法,其特征在于,所述輸出摘要為一四元組,其中:I為一輸入變量,C為路徑約束集,D摘要描述,S為檢查特定信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市源傘新科技有限公司,未經(jīng)深圳市源傘新科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811014686.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 信息記錄/再現(xiàn)設(shè)備和信息記錄介質(zhì)
- 一種靈活使用弱引用緩存對(duì)象的方法
- 高效地標(biāo)記帶有大引用集的對(duì)象
- 引用檢查系統(tǒng)和引用檢查方法
- 一種支持大數(shù)據(jù)基礎(chǔ)檔案卸載的方法與裝置
- 專利被引用數(shù)量統(tǒng)計(jì)系統(tǒng)及其統(tǒng)計(jì)方法
- 信息系統(tǒng)中的主數(shù)據(jù)刪除方法、裝置和計(jì)算機(jī)設(shè)備
- 記錄引用信息、查詢引用路徑的方法、裝置
- 一種內(nèi)存管理方法及裝置
- 對(duì)象引用方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 檢測(cè)裝置、檢測(cè)方法和檢測(cè)組件
- 檢測(cè)方法、檢測(cè)裝置和檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法以及記錄介質(zhì)
- 檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)裝置、檢測(cè)設(shè)備及檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)
- 檢測(cè)組件、檢測(cè)裝置以及檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法及檢測(cè)程序
- 檢測(cè)電路、檢測(cè)裝置及檢測(cè)系統(tǒng)





