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





