[發(fā)明專利]一種基于缺陷規(guī)則和分類反饋的缺陷發(fā)現(xiàn)方法有效
| 申請?zhí)枺?/td> | 201811209067.0 | 申請日: | 2018-10-17 |
| 公開(公告)號: | CN109408385B | 公開(公告)日: | 2019-12-03 |
| 發(fā)明(設計)人: | 張濤;徐思婕;談尤帥 | 申請(專利權)人: | 哈爾濱工程大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 23211 哈爾濱市陽光惠遠知識產(chǎn)權代理有限公司 | 代理人: | 孫莉莉<國際申請>=<國際公布>=<進入 |
| 地址: | 150001 黑龍江*** | 國省代碼: | 黑龍;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 源代碼 缺陷發(fā)現(xiàn) 分析樹 分類 缺陷規(guī)則 反饋 準確度 分析工具 分析過程 構造代碼 構造過程 靜態(tài)分析 靜態(tài)數(shù)據(jù) 邏輯結構 模型檢索 軟件缺陷 數(shù)據(jù)信息 語法規(guī)則 正誤判斷 測試 開發(fā) 發(fā)現(xiàn) | ||
1.一種基于缺陷規(guī)則和分類反饋的缺陷發(fā)現(xiàn)方法,其特征在于,包括以下步驟:
步驟一、利用靜態(tài)分析工具提取分析過程下源代碼中的數(shù)據(jù)信息;
步驟二、用靜態(tài)分析工具進行代碼分析樹的構造過程,并且通過設置的語法規(guī)則來構造代碼分析樹的每個節(jié)點;利用代碼分析樹描述源代碼的邏輯結構,采用4C模型檢索出源代碼中數(shù)據(jù)的缺陷;
步驟三、利用Taxonomy分類方法對缺陷進行分類;
步驟四、開發(fā)人員對分類后的缺陷進行正誤判斷并進行反饋;
所述4C模型指的是概念、內(nèi)容、上下文和類別屬性的模型;所述概念包括錯誤信息,所述錯誤信息為身份、級別、修復類別和確定性;所述內(nèi)容展示的是關于缺陷和相關代碼的細節(jié)信息,所述細節(jié)信息為語法規(guī)則、源代碼和解決方案;所述上下文是說明樹結構上的子節(jié)點和母節(jié)點中的缺陷;所述類別屬性展示的是缺陷的等級分數(shù);
在反饋環(huán)節(jié)中,開發(fā)人員通過運用經(jīng)驗和知識判斷一個返回的缺陷是正確、接近正確、接近錯誤還是錯誤;
所述步驟二具體為:
步驟二一、掃描:通過掃描源代碼文件,形成源代碼里的數(shù)據(jù)流并且提取信息;
步驟二二、建分析樹:根據(jù)提取的信息,決定節(jié)點的類型,在關聯(lián)關鍵詞的子樹上的所有節(jié)點都能被建立,因此分析樹便可以建立了;
步驟二三、遍歷:通過遍歷所有的節(jié)點,靜態(tài)分析工具分析每一個聲明并記錄相關的執(zhí)行結果;
步驟二四、找到缺陷:通過多個源代碼文件的歷史記錄,從而定義缺陷規(guī)則,并且依次最終找到缺陷。
2.根據(jù)權利要求1所述的方法,其特征在于,當靜態(tài)分析過程已經(jīng)完成后,缺陷根據(jù)相關的缺陷規(guī)則進行分類,進而掃描缺陷類型的關鍵詞,核實缺陷的等級與相關的缺陷類型,由此分類樹也就建造完成,分類過程結束。
3.根據(jù)權利要求2所述的方法,其特征在于,所述缺陷類型為數(shù)組的范圍超出邊界、變量未初始化、非可執(zhí)行節(jié)點和方法不能準確使用。
4.根據(jù)權利要求1所述的方法,其特征在于,在代碼分析樹的構造過程中,需要進行句法和語法分析;句法分析中的單詞符號是由從左到右掃描源代碼的每個字符產(chǎn)生的,而語法分析中代碼分析樹是利用語法分析中的符號所構造的;每一個節(jié)點對應一個調(diào)用方法,該調(diào)用方法用于構造節(jié)點類的對象。
5.根據(jù)權利要求1所述的方法,其特征在于,所述缺陷規(guī)則定義為:軟件缺陷是計算機程序的一個缺陷,使之無法正常工作,軟件缺陷是由源代碼文件產(chǎn)生的,缺陷規(guī)則則由缺陷的源代碼文件的歷史所總結,缺陷規(guī)則指示如何判斷源代碼中的缺陷。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工程大學,未經(jīng)哈爾濱工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811209067.0/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。





