[發(fā)明專利]一種C語言聲明定義安全準(zhǔn)則的編譯檢查方法在審
| 申請(qǐng)?zhí)枺?/td> | 202211547599.1 | 申請(qǐng)日: | 2022-12-05 |
| 公開(公告)號(hào): | CN115964047A | 公開(公告)日: | 2023-04-14 |
| 發(fā)明(設(shè)計(jì))人: | 翟彥河;顧軼超;趙愛南;姜軍;張海軍;陳宏博 | 申請(qǐng)(專利權(quán))人: | 無錫先進(jìn)技術(shù)研究院 |
| 主分類號(hào): | G06F8/41 | 分類號(hào): | G06F8/41;G06F16/903 |
| 代理公司: | 南京縱橫知識(shí)產(chǎn)權(quán)代理有限公司 32224 | 代理人: | 董建林 |
| 地址: | 214122 江蘇省無錫市濱*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 語言 聲明 定義 安全 準(zhǔn)則 編譯 檢查 方法 | ||
1.一種C語言聲明定義安全準(zhǔn)則的編譯檢查方法,其特征在于,包括:
讀取待檢查的源文件;對(duì)源文件進(jìn)行宏安全檢查、數(shù)據(jù)與函數(shù)安全檢查以及變量布局安全檢查,當(dāng)檢查出違背聲明定義準(zhǔn)則的代碼輸出報(bào)警信息;
對(duì)源文件進(jìn)行宏安全檢查的方法包括:
對(duì)源文件進(jìn)行宏定義捕獲得到完整的宏信息,對(duì)各項(xiàng)宏信息封裝為類,使用容器存儲(chǔ)宏信息;所述容器提供基本的信息訪問接口,所述信息訪問接口供編譯器調(diào)用;
在編譯階段通過信息訪問接口獲取宏信息進(jìn)行安全檢查。
2.根據(jù)權(quán)利要求1所述的一種C語言聲明定義安全準(zhǔn)則的編譯檢查方法,其特征在于,對(duì)源文件進(jìn)行宏定義捕獲得到完整的宏信息的方法包括:
對(duì)源文件進(jìn)行字符匹配檢測(cè)到“#”標(biāo)記,然后經(jīng)字符串切割獲取“#”之后的宏信息;所述宏信息包括宏名稱、定義內(nèi)容、位置信息和長(zhǎng)度信息。
3.根據(jù)權(quán)利要求2所述的一種C語言聲明定義安全準(zhǔn)則的編譯檢查方法,其特征在于,在編譯階段通過信息訪問接口獲取宏信息進(jìn)行安全檢查的方法包括:
在編譯階段通過信息訪問接口獲取宏名稱、定義內(nèi)容、位置信息和長(zhǎng)度信息;
根據(jù)宏安全規(guī)則使用關(guān)鍵字匹配方法、字符串識(shí)別方法或長(zhǎng)度判斷方法完成相應(yīng)的安全檢查。
4.根據(jù)權(quán)利要求1所述的一種C語言聲明定義安全準(zhǔn)則的編譯檢查方法,其特征在于,對(duì)源文件進(jìn)行數(shù)據(jù)與函數(shù)安全檢查的方法包括:
當(dāng)對(duì)單個(gè)源文件內(nèi)部的聲明定義檢查時(shí),直接通過編譯器中相關(guān)的接口獲取必要的語法和語義信息,結(jié)合相應(yīng)的安全準(zhǔn)則進(jìn)行檢查;
當(dāng)對(duì)多源文件進(jìn)行跨文件編譯檢查時(shí),遍歷所有源文件,將各源文件中數(shù)據(jù)與函數(shù)的聲明定義一一記錄下來,儲(chǔ)存于本地的數(shù)據(jù)結(jié)構(gòu)中;當(dāng)檢測(cè)到涉及跨文件的關(guān)鍵字時(shí),在記錄的信息中添加一個(gè)特殊記號(hào);
在正式編譯時(shí),針對(duì)帶有特殊記號(hào)的聲明,基于哈希值比對(duì)算法,在本地存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中搜索對(duì)應(yīng)的定義,完成相應(yīng)的安全檢查。
5.根據(jù)權(quán)利要求1所述的一種C語言聲明定義安全準(zhǔn)則的編譯檢查方法,其特征在于,對(duì)源文件進(jìn)行變量布局安全檢查的方法包括:
以源文件中的函數(shù)體為單位構(gòu)建完整的函數(shù)體結(jié)構(gòu)圖,計(jì)算出函數(shù)體內(nèi)部各聲明定義在函數(shù)體中的相對(duì)位置,通過位置關(guān)系分析,檢查出違背安全準(zhǔn)則的聲明定義。
6.根據(jù)權(quán)利要求1所述的一種C語言聲明定義安全準(zhǔn)則的編譯檢查方法,其特征在于,當(dāng)檢查出違背聲明定義準(zhǔn)則的代碼輸出報(bào)警信息的方法包括:
所述聲明定義準(zhǔn)則包括強(qiáng)制準(zhǔn)則和建議準(zhǔn)則;當(dāng)檢查出違背強(qiáng)制準(zhǔn)則的代碼輸出“錯(cuò)誤”作為報(bào)警信息;當(dāng)檢查出違背建議準(zhǔn)則的代碼輸出“警告”作為報(bào)警信息。
7.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)權(quán)利要求1至權(quán)利要求6任一項(xiàng)所述編譯檢查方法的步驟。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于無錫先進(jìn)技術(shù)研究院,未經(jīng)無錫先進(jìn)技術(shù)研究院許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211547599.1/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 自動(dòng)檢測(cè)文件中搭配錯(cuò)誤的系統(tǒng)和方法
- 網(wǎng)絡(luò)連接裝置及網(wǎng)絡(luò)連接裝置的語言環(huán)境設(shè)定方法
- 一種口語評(píng)測(cè)方法及裝置
- 一種語言設(shè)置方法及移動(dòng)終端
- 一種語言文本加載方法和裝置
- 一種語言交流人工智能系統(tǒng)及其語言處理方法
- 語言序列標(biāo)注方法、裝置存儲(chǔ)介質(zhì)及計(jì)算機(jī)設(shè)備
- 一種基于語言包實(shí)現(xiàn)繼電保護(hù)裝置多語言版本方法及裝置
- 一種應(yīng)用軟件的多語言核對(duì)方法及系統(tǒng)
- 多語言字幕顯示方法、裝置、終端設(shè)備及存儲(chǔ)介質(zhì)
- 信任關(guān)系的聲明變換
- MBMS的業(yè)務(wù)聲明更新處理方法、裝置和系統(tǒng)
- 通信信道聲明相關(guān)的安全防范
- 應(yīng)用過度索權(quán)的檢測(cè)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 獲取項(xiàng)目依賴包的方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 權(quán)利管理方法、裝置及系統(tǒng)、存儲(chǔ)介質(zhì)
- 用于綁定可驗(yàn)證聲明的系統(tǒng)和方法
- 電網(wǎng)消防聲明周期管理系統(tǒng)
- 一種數(shù)字邏輯設(shè)計(jì)中信號(hào)聲明系統(tǒng)、方法、設(shè)備及介質(zhì)
- 一種法律聲明內(nèi)容的顯示方法及顯示設(shè)備





