[發(fā)明專利]一種基于靜態(tài)分析的軟件缺陷模式研究方法在審
| 申請?zhí)枺?/td> | 201811316556.6 | 申請日: | 2018-11-07 |
| 公開(公告)號: | CN109582567A | 公開(公告)日: | 2019-04-05 |
| 發(fā)明(設(shè)計(jì))人: | 陶雯;王澤峰 | 申請(專利權(quán))人: | 深圳竹云科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 深圳快馬專利商標(biāo)事務(wù)所(普通合伙) 44362 | 代理人: | 趙亮;劉朗星 |
| 地址: | 518000 廣東省深圳市南山區(qū)*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 靜態(tài)分析 軟件缺陷模式 代碼替換 定位準(zhǔn)確 方法使用 缺陷檢測 缺陷模式 軟件安全 運(yùn)行能力 漏報(bào)率 切入點(diǎn) 缺陷率 研究 語句 匹配 溢出 自動(dòng)化 幫助 | ||
本發(fā)明涉及一種基于靜態(tài)分析的軟件缺陷模式研究方法,所述一種基于靜態(tài)分析的軟件缺陷模式研究方法使用靜態(tài)分析方法直接對代碼進(jìn)行缺陷模式匹配,以C語言為基礎(chǔ),利用自增自減語句可能產(chǎn)生的溢出缺陷為切入點(diǎn),提出代碼替換思想來降低缺陷率。本發(fā)明使用靜態(tài)分析方法提高缺陷檢測的準(zhǔn)確性,降低了漏報(bào)率;靜態(tài)分析的自動(dòng)化程度高,執(zhí)行速度快,定位準(zhǔn)確,執(zhí)行效率高;提高軟件安全運(yùn)行能力,幫助提高軟件的性能。
技術(shù)領(lǐng)域
本發(fā)明涉及一種軟件缺陷模式研究方法,更具體地說,涉及一種基于靜態(tài)分析的軟件缺陷模式研究方法。
背景技術(shù)
軟件缺陷模式是對導(dǎo)致軟件運(yùn)行中出現(xiàn)錯(cuò)誤或不正常運(yùn)行結(jié)果的缺陷總結(jié)。市場上軟件類型層出不窮,一直以來,如何保障軟件的可靠性和運(yùn)行的穩(wěn)定性是軟件開發(fā)難以避免的問題。影響軟件可靠性和穩(wěn)定性的因素有許多,其中主要因素是軟件中存在的缺陷數(shù)量。通過檢測查找并及時(shí)修改軟件中存在的缺陷,可以在一定程度上控制軟件的可靠性和穩(wěn)定性。
現(xiàn)有的缺陷模式和解決方法仍然存在一定的不足,包括不能有效檢測由于自增自減使用不當(dāng)導(dǎo)致的溢出。而使用靜態(tài)分析方法直接對代碼進(jìn)行缺陷模式匹配,可以更高效、準(zhǔn)確的找到軟件中存在的缺陷。
軟件缺陷是軟件開發(fā)過程中導(dǎo)致錯(cuò)誤運(yùn)行結(jié)果或產(chǎn)生性能不足的問題代碼,且在軟件開發(fā)過程中難以完全避免。通常表現(xiàn)為開發(fā)人員的編譯錯(cuò)誤或邏輯錯(cuò)誤。對于有些隱藏較深的缺陷會(huì)很難被檢測出來,因此這也為軟件的安全運(yùn)行留下隱患,更嚴(yán)重的還會(huì)對用戶、經(jīng)濟(jì)造成極大的損失。
現(xiàn)有的主流軟件缺陷檢測方式一般分為兩種:動(dòng)態(tài)分析和靜態(tài)分析。動(dòng)態(tài)分析通常通過軟件運(yùn)行過程中軟件功能是否可以正常實(shí)現(xiàn)來判斷軟件是否存在缺陷;靜態(tài)分析是通過對代碼進(jìn)行自動(dòng)化掃描來發(fā)現(xiàn)可能存在的缺陷。相比于動(dòng)態(tài)分析,靜態(tài)分析可以直接對代碼分析,無須等到整個(gè)項(xiàng)目完成即可針對代碼進(jìn)行檢測,可以更早更有針對性的發(fā)現(xiàn)軟件中可能存在的缺陷。軟件執(zhí)行邏輯及路徑組合非常復(fù)雜,靜態(tài)分析可以無視這種復(fù)雜性,自動(dòng)化程度高,執(zhí)行速度快,定位準(zhǔn)確,執(zhí)行效率高。
針對軟件缺陷,我們提出軟件缺陷模式用以降低缺陷率。軟件缺陷模式是指由具有豐富的領(lǐng)域程序設(shè)計(jì)經(jīng)驗(yàn)的程序編碼人員或具有豐富測試及缺陷修復(fù)經(jīng)驗(yàn)的測試人員總結(jié)出來的,可能經(jīng)常出現(xiàn)在程序中的特定規(guī)律。缺陷模式的確定主要通過3個(gè)途徑:軟件開發(fā)和測試過程中積累的缺陷資源;各類文獻(xiàn)歸納的項(xiàng)目中實(shí)際積累的缺陷數(shù)據(jù);各領(lǐng)域內(nèi)的專家總結(jié)的缺陷數(shù)據(jù)。
軟件缺陷檢測模型的主要技術(shù)點(diǎn)在于語法分析和缺陷模式匹配。研究發(fā)現(xiàn),現(xiàn)有的靜態(tài)分析工具還不能很好的對自增自減語句可能存在的溢出缺陷作出良好的反應(yīng),同時(shí),在C語言中,難以對判斷語句和輸入輸出語句中數(shù)據(jù)類型前后不符的缺陷進(jìn)行檢測。基于這些問題,本發(fā)明提出代碼替換方法來實(shí)現(xiàn)對缺陷的有效檢測。
代碼替換的核心思想是將在語法分析階段難以解讀的代碼替換成效果相同且可以被解析的代碼。
C語言自增自減運(yùn)算通常包括:i++或++i;i--或--i;
我們可以替換為:i++->((i=i+1)-1);
++i->(i=i+1);
i--->((i=i-1)+1);
--i->(i=i-1);
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)中的缺陷,提供一種基于靜態(tài)分析的軟件缺陷模式研究方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種基于靜態(tài)分析的軟件缺陷模式研究方法,使用靜態(tài)分析方法直接對代碼進(jìn)行缺陷模式匹配,以C語言為基礎(chǔ),利用自增自減語句可能產(chǎn)生的溢出缺陷為切入點(diǎn),提出代碼替換思想來降低缺陷率,可以更高效、準(zhǔn)確的找到軟件中存在的缺陷,以提高缺陷匹配檢測的準(zhǔn)確性。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳竹云科技有限公司,未經(jīng)深圳竹云科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811316556.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 一種基于移動(dòng)即時(shí)通訊軟件的軟件缺陷智能跟蹤管理方法
- 一種基于開源軟件缺陷代碼修改模式的缺陷信息提取方法
- 軟件缺陷數(shù)據(jù)處理方法和裝置
- 一種軟件缺陷統(tǒng)計(jì)處理方法及裝置
- 一種基于多源數(shù)據(jù)的軟件缺陷信息融合方法
- 軟件缺陷分析錄入方法、裝置、計(jì)算機(jī)設(shè)備和存儲介質(zhì)
- 一種基于靜態(tài)分析的軟件缺陷模式研究方法
- 一種基于代碼語義及背景信息的軟件缺陷數(shù)據(jù)采集系統(tǒng)
- 基于主題模型軟件缺陷檢測的方法和系統(tǒng)
- 軟件缺陷的信息展示方法、裝置、電子設(shè)備和存儲介質(zhì)





