一種靜態(tài)代碼缺陷測試方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種靜態(tài)代碼缺陷測試方法和裝置,包括:預(yù)先建立缺陷模式描述用戶界面UI,缺陷模式描述UI至少設(shè)置有缺陷模式描述窗口和缺陷模式選擇窗口;預(yù)先從所述缺陷模式描述窗口獲取靜態(tài)代碼的規(guī)則,將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式,并建立缺陷模式庫存儲(chǔ)缺陷模式;還包括:缺陷分析工具加載待測試靜態(tài)代碼,根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)待測試靜態(tài)代碼進(jìn)行測試。通過本發(fā)明方法,能夠簡單高效的進(jìn)行靜態(tài)代碼缺陷測試,且能夠方便擴(kuò)展缺陷模式。
【專利說明】一種靜態(tài)代碼缺陷測試方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及測試【技術(shù)領(lǐng)域】,尤指一種靜態(tài)代碼缺陷測試方法和裝置。
【背景技術(shù)】
[0002]代碼缺陷,常被叫做8呢,是計(jì)算機(jī)軟件或程序中存在的某種破壞正常運(yùn)行能力的問題、錯(cuò)誤,或者隱藏的功能缺陷。缺陷的存在會(huì)導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。^££729-1983對(duì)缺陷有一個(gè)標(biāo)準(zhǔn)的定義:從產(chǎn)品內(nèi)部看,缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中存在的錯(cuò)誤、毛病等各種問題;從產(chǎn)品外部看,缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。
[0003]基于缺陷模式的代碼缺陷測試技術(shù)是根據(jù)預(yù)先設(shè)定的缺陷模式對(duì)被測程序進(jìn)行缺陷測試,這種測試技術(shù)具有使用簡單、查找速度快等優(yōu)點(diǎn),是近年來靜態(tài)代碼缺陷測試方法中發(fā)展比較迅速的新技術(shù)。
[0004]但是,目前基于缺陷模式的代碼缺陷測試技術(shù)的大多數(shù)工具沒有為用戶提供足夠易用、高效的擴(kuò)展方式,以使工具能夠支持用戶對(duì)關(guān)注的代碼缺陷進(jìn)行檢測。比如:以最具代表性的5111(181188為例,其所關(guān)注的缺陷模式都是硬編碼到缺陷模式檢查器中,當(dāng)需要使用51=(181188檢查新的缺陷模式時(shí),用戶必須手動(dòng)修改工具程序,對(duì)于用戶的編碼能力有較高的要求,此類問題限制了工具的靜態(tài)代碼缺陷測試的能力。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)問題,本發(fā)明提供了一種靜態(tài)代碼缺陷測試方法和裝置,能夠簡單高效的進(jìn)行靜態(tài)代碼缺陷測試,且能夠方便擴(kuò)展測試項(xiàng)目。
[0006]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種靜態(tài)代碼缺陷測試方法,包括:預(yù)先建立缺陷模式描述用戶界面瓜,所述缺陷模式描述瓜至少設(shè)置有缺陷模式描述窗口和缺陷模式選擇窗口 ;預(yù)先從所述缺陷模式描述窗口獲取靜態(tài)代碼的規(guī)則,將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式,并建立缺陷模式庫存儲(chǔ)所述缺陷模式;還包括:缺陷分析工具加載待測試靜態(tài)代碼,根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。
[0007]所述靜態(tài)代碼的規(guī)則至少包括:靜態(tài)代碼遵循的標(biāo)準(zhǔn)規(guī)則,和丨或靜態(tài)代碼的概要設(shè)計(jì),和/或用戶自定義的規(guī)則;所述有效規(guī)則為能夠發(fā)現(xiàn)有效問題的規(guī)則。
[0008]所述將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式包括:從獲取的靜態(tài)代碼的規(guī)則中篩選出有效規(guī)則,將篩選后的有效規(guī)則根據(jù)預(yù)先設(shè)置的條件進(jìn)行抽象概括,轉(zhuǎn)化為缺陷模式。
[0009]所述建立缺陷模式庫存儲(chǔ)所述缺陷模式包括:建立缺陷模式庫并根據(jù)缺陷模式種類存儲(chǔ)缺陷模式。
[0010]所述根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試包括:根據(jù)所述缺陷模式描述窗口的測試信息,倉0建新的缺陷模式存儲(chǔ)在缺陷模式庫中,調(diào)用缺陷模式庫中所述新的缺陷模式,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試;根據(jù)所述缺陷模式選擇窗口的測試信息,確定所述待測試靜態(tài)代碼的需要測試的缺陷模式,調(diào)用缺陷模式庫中的相應(yīng)的缺陷模式,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。
[0011]一種靜態(tài)代碼缺陷測試裝置,至少包括:第一預(yù)處理模塊,用于預(yù)先建立缺陷模式描述用戶界面瓜,所述缺陷模式描述瓜至少設(shè)置有缺陷模式描述窗口和缺陷模式選擇窗口 ;第二預(yù)處理模塊,用于從所述缺陷模式描述窗口獲取靜態(tài)代碼的規(guī)則,將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式;第三預(yù)處理模塊,用于建立缺陷模式庫存儲(chǔ)所述缺陷模式;缺陷分析工具,用于加載待測試靜態(tài)代碼,根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。
[0012]所述靜態(tài)代碼的規(guī)則至少包括:靜態(tài)代碼遵循的標(biāo)準(zhǔn)規(guī)則,和丨或靜態(tài)代碼的概要設(shè)計(jì),和/或用戶自定義的規(guī)則;所述有效規(guī)則為能夠發(fā)現(xiàn)有效問題的規(guī)則。
[0013]所述第二預(yù)處理模塊包括規(guī)則挖掘器、規(guī)則精化器和規(guī)則轉(zhuǎn)換器,其中,所述規(guī)則挖掘器用于獲取靜態(tài)代碼的規(guī)則;所述規(guī)則精化器用于對(duì)所述規(guī)則挖掘器獲取的靜態(tài)代碼的規(guī)則進(jìn)行篩選;所述規(guī)則轉(zhuǎn)換器用于將篩選后的有效規(guī)則根據(jù)預(yù)先設(shè)置的條件進(jìn)行抽象概括,轉(zhuǎn)化為缺陷模式。
[0014]所述第三預(yù)處理模塊用于建立缺陷模式庫存儲(chǔ)缺陷模式具體為:所述第三預(yù)處理模塊建立缺陷模式庫并根據(jù)缺陷模式種類存儲(chǔ)缺陷模式。
[0015]所述缺陷分析工具用于根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試具體為:所述缺陷分析工具根據(jù)所述缺陷模式描述窗口的測試信息,創(chuàng)建新的缺陷模式存儲(chǔ)在缺陷模式庫中,調(diào)用缺陷模式庫中所述新的缺陷模式,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試;根據(jù)所述缺陷模式選擇窗口的測試信息,確定所述待測試靜態(tài)代碼的需要測試的缺陷模式,調(diào)用缺陷模式庫中的相應(yīng)的缺陷模式,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明包括預(yù)先建立缺陷模式描述用戶界面瓜,所述缺陷模式描述III至少設(shè)置有缺陷模式描述窗口和缺陷模式選擇窗口 ;預(yù)先從所述缺陷模式描述窗口獲取靜態(tài)代碼的規(guī)則,將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式,并建立缺陷模式庫存儲(chǔ)所述缺陷模式;還包括:缺陷分析工具加載待測試靜態(tài)代碼,根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。本發(fā)明通過預(yù)先建立缺陷模式庫存儲(chǔ)缺陷模式,并根據(jù)缺陷模式建立缺陷模式描述VI,因此,用戶只需要在缺陷模式描述瓜上確定待測試靜態(tài)代碼的需要測試的缺陷模式,就能夠?qū)υ摯郎y試靜態(tài)代碼進(jìn)行測試,不需要用戶進(jìn)行編碼來輸入需要測試的缺陷模式,實(shí)現(xiàn)了簡單高效的靜態(tài)代碼測試。此外,缺陷模式描述瓜還提供了新增缺陷模式窗口,用戶能夠方便地?cái)U(kuò)展待測試靜態(tài)代碼的缺陷模式。
[0017]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
【專利附圖】
【附圖說明】
[0018]附圖用來提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
[0019]圖1是本發(fā)明靜態(tài)代碼缺陷測試方法的流程示意圖。
[0020]圖2是本發(fā)明靜態(tài)代碼缺陷測試裝置的結(jié)構(gòu)示意圖。
[0021]圖3是本發(fā)明第二預(yù)處理模塊的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0023]在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0024]圖1是本發(fā)明靜態(tài)代碼缺陷測試方法的流程示意圖,如圖1所示,包括:
[0025]步驟11,預(yù)先建立缺陷模式描述用戶界面匕仏忖狀一),該缺陷模式描述VI至少設(shè)置有缺陷模式描述窗口和缺陷模式選擇窗口。
[0026]在本步驟中,該缺陷模式描述窗口是靜態(tài)代碼規(guī)則的輸入窗口 ;該缺陷模式選擇窗口是選擇靜態(tài)代碼需要測試的缺陷模式的輸入窗口。
[0027]具體如何建立瓜屬于本領(lǐng)域技術(shù)人員的慣用技術(shù)手段,其具體實(shí)現(xiàn)并不用于限定本發(fā)明的保護(hù)范圍,這里不再贅述。
[0028]步驟12,預(yù)先從缺陷模式描述瓜的缺陷模式描述窗口獲取靜態(tài)代碼的規(guī)則,將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式,并建立缺陷模式庫存儲(chǔ)缺陷模式。
[0029]在本步驟中,靜態(tài)代碼的規(guī)則包括靜態(tài)代碼遵循的標(biāo)準(zhǔn)規(guī)則,和丨或靜態(tài)代碼的概要設(shè)計(jì),和/或用戶自定義的規(guī)則等,例如代碼規(guī)則、復(fù)雜性規(guī)則、控制流規(guī)則、命名規(guī)則、可移植性規(guī)則和資源規(guī)則等。
[0030]有效規(guī)則是指能夠發(fā)現(xiàn)有效問題的規(guī)則,例如在程序中不能直接調(diào)用他!'冊(1.1-1111()函數(shù)、數(shù)據(jù)庫連接使用結(jié)束后必須及時(shí)關(guān)閉、文件流使用規(guī)則等規(guī)則。
[0031]模式是規(guī)則抽象出的概括描述,因此將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式包括:根據(jù)測試經(jīng)驗(yàn)或者用戶自定義條件從獲取的靜態(tài)代碼的規(guī)則中篩選出有效規(guī)則,將篩選后的有效規(guī)則根據(jù)預(yù)先設(shè)置的條件進(jìn)行抽象概括,轉(zhuǎn)化為缺陷模式,并為缺陷模式配置相應(yīng)的測試程序,其中該預(yù)先設(shè)置的條件可以是重復(fù)或類似的有效規(guī)則。
[0032]缺陷模式庫負(fù)責(zé)存儲(chǔ)缺陷模式,具體地可以根據(jù)缺陷模式種類存儲(chǔ)缺陷模式,其中缺陷模式種類包括時(shí)序相關(guān)的缺陷模式、值相關(guān)的缺陷模式、繼承相關(guān)的缺陷模式和實(shí)現(xiàn)相關(guān)的缺陷模式等。
[0033]此外,通過缺陷模式描述口I界面的缺陷模式描述窗口可以對(duì)缺陷模式庫中的缺陷模式進(jìn)行補(bǔ)充和/或刪除。如此,當(dāng)用戶發(fā)現(xiàn)新的靜態(tài)代碼規(guī)則后,只需要通過缺陷模式描述窗口來添加相關(guān)規(guī)則信息,經(jīng)過轉(zhuǎn)換成缺陷模式后存儲(chǔ)到缺陷模式庫中,而無須手動(dòng)修改缺陷分析工具,從而實(shí)現(xiàn)方便地?cái)U(kuò)展待測試靜態(tài)代碼的缺陷模式。
[0034]步驟13,缺陷分析工具加載待測試靜態(tài)代碼,根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息,調(diào)用缺陷模式庫,對(duì)該待測試靜態(tài)代碼進(jìn)行測試。
[0035]在本步驟中,如果有多個(gè)待測試靜態(tài)代碼,缺陷分析工具可以按照業(yè)務(wù)流的執(zhí)行順序加載待測試靜態(tài)代碼。具體如何加載待測試靜態(tài)代碼屬于本領(lǐng)域技術(shù)人員的慣用技術(shù)手段,其具體實(shí)現(xiàn)并不用于限定本發(fā)明的保護(hù)范圍,這里不再贅述。
[0036]如果用戶不確定該待測試靜態(tài)代碼可能存在哪些缺陷的情況下,在缺陷分析工具加載完成待測試靜態(tài)代碼后,可以對(duì)待測試靜態(tài)代碼進(jìn)行全面測試,即通過缺陷模式描述窗口確定缺陷模式庫中的所有缺陷模式,對(duì)該待測試靜態(tài)代碼進(jìn)行測試。
[0037]也可以對(duì)該待測試靜態(tài)代碼進(jìn)行指定缺陷模式的測試,具體地,通過從缺陷模式選擇窗口中確定待測試靜態(tài)代碼的需要測試的缺陷模式,缺陷分析工具調(diào)用缺陷模式庫中相應(yīng)的缺陷模式,對(duì)該待測試靜態(tài)代碼進(jìn)行測試。
[0038]還可以根據(jù)缺陷模式描述窗口,創(chuàng)建新的缺陷模式存儲(chǔ)在缺陷模式庫中,調(diào)用缺陷模式庫中新的缺陷模式,對(duì)該待測試靜態(tài)代碼進(jìn)行測試。
[0039]本發(fā)明中,通過預(yù)先建立缺陷模式庫存儲(chǔ)缺陷模式,并根據(jù)缺陷模式建立缺陷模式描述口I,因此,用戶只需要在缺陷模式描述口I上確定待測試靜態(tài)代碼的需要測試的缺陷模式,就能夠?qū)υ摯郎y試靜態(tài)代碼進(jìn)行測試,不需要用戶進(jìn)行編碼來輸入需要測試的缺陷模式,實(shí)現(xiàn)了簡單高效的靜態(tài)代碼測試。此外,缺陷模式描述瓜還提供了新增缺陷模式窗口,用戶能夠方便地?cái)U(kuò)展待測試靜態(tài)代碼的缺陷模式。
[0040]圖2是本發(fā)明靜態(tài)代碼缺陷測試裝置的結(jié)構(gòu)示意圖,如圖1所示,至少包括:
[0041]第一預(yù)處理模塊,用于預(yù)先建立缺陷模式描述用戶界面瓜,該缺陷模式描述VI至少設(shè)置有缺陷模式描述窗口和缺陷模式選擇窗口。
[0042]第二預(yù)處理模塊,用于預(yù)先從缺陷模式描述VI獲取靜態(tài)代碼遵循的規(guī)則,將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式。
[0043]具體地,如圖3所示,第二預(yù)處理模塊包括規(guī)則挖掘器、規(guī)則精化器和規(guī)則轉(zhuǎn)換器,其中規(guī)則挖掘器獲取靜態(tài)代碼遵循的標(biāo)準(zhǔn)規(guī)則,和/或軟件的概要設(shè)計(jì),和/或用戶自定義的規(guī)則,規(guī)則精化器對(duì)規(guī)則挖掘器獲取的靜態(tài)代碼的規(guī)則進(jìn)行篩選,規(guī)則轉(zhuǎn)換器將篩選后重復(fù)或類似的有效規(guī)則進(jìn)行抽象概括,轉(zhuǎn)化為缺陷模式。
[0044]第三預(yù)處理模塊,用于建立缺陷模式庫存儲(chǔ)缺陷模式。
[0045]具體地,第三預(yù)處理模塊建立缺陷模式庫并根據(jù)缺陷模式種類存儲(chǔ)缺陷模式。
[0046]缺陷分析工具,用于加載待測試靜態(tài)代碼,調(diào)用缺陷模式庫,對(duì)該待測試靜態(tài)代碼進(jìn)行測試。
[0047]具體地,缺陷分析工具用于按照業(yè)務(wù)流的執(zhí)行順序加載待測試靜態(tài)代碼;確定待測試靜態(tài)代碼需要測試的缺陷模式,調(diào)用缺陷模式庫中相應(yīng)的缺陷模式,對(duì)該待測試靜態(tài)代碼進(jìn)行測試。
[0048]本發(fā)明的靜態(tài)代碼缺陷測試裝置和靜態(tài)代碼缺陷測試方法相應(yīng),因此,靜態(tài)代碼缺陷測試裝置具體的實(shí)現(xiàn)細(xì)節(jié)可參看靜態(tài)代碼缺陷測試方法,在此不贅述。
[0049]本發(fā)明中,通過預(yù)先建立缺陷模式庫存儲(chǔ)缺陷模式,并根據(jù)缺陷模式建立缺陷模式描述口I,因此,用戶只需要在缺陷模式描述口I上確定待測試靜態(tài)代碼的需要測試的缺陷模式,就能夠?qū)υ摯郎y試靜態(tài)代碼進(jìn)行測試,不需要用戶進(jìn)行編碼來輸入需要測試的缺陷模式,實(shí)現(xiàn)了簡單高效的靜態(tài)代碼測試。此外,缺陷模式描述瓜還提供了新增缺陷模式窗口,用戶能夠方便地?cái)U(kuò)展待測試靜態(tài)代碼的缺陷模式。
[0050]雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【權(quán)利要求】
1.一種靜態(tài)代碼缺陷測試方法,其特征在于,包括: 預(yù)先建立缺陷模式描述用戶界面Π,所述缺陷模式描述Π至少設(shè)置有缺陷模式描述窗口和缺陷模式選擇窗口; 預(yù)先從所述缺陷模式描述窗口獲取靜態(tài)代碼的規(guī)則,將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式,并建立缺陷模式庫存儲(chǔ)所述缺陷模式; 還包括: 缺陷分析工具加載待測試靜態(tài)代碼,根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述靜態(tài)代碼的規(guī)則至少包括:靜態(tài)代碼遵循的標(biāo)準(zhǔn)規(guī)則,和/或靜態(tài)代碼的概要設(shè)計(jì),和/或用戶自定義的規(guī)則; 所述有效規(guī)則為能夠發(fā)現(xiàn)有效問題的規(guī)則。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式包括: 從獲取的靜態(tài)代碼的規(guī)則中篩選出有效規(guī)則,將篩選后的有效規(guī)則根據(jù)預(yù)先設(shè)置的條件進(jìn)行抽象概括,轉(zhuǎn)化為缺陷模式。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述建立缺陷模式庫存儲(chǔ)所述缺陷模式包括: 建立缺陷模式庫并根據(jù)缺陷模式種類存儲(chǔ)缺陷模式。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試包括: 根據(jù)所述缺陷模式描述窗口的測試信息,創(chuàng)建新的缺陷模式存儲(chǔ)在缺陷模式庫中,調(diào)用缺陷模式庫中所述新的缺陷模式,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試; 根據(jù)所述缺陷模式選擇窗口的測試信息,確定所述待測試靜態(tài)代碼的需要測試的缺陷模式,調(diào)用缺陷模式庫中的相應(yīng)的缺陷模式,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。
6.一種靜態(tài)代碼缺陷測試裝置,其特征在于,至少包括: 第一預(yù)處理模塊,用于預(yù)先建立缺陷模式描述用戶界面Π,所述缺陷模式描述Π至少設(shè)置有缺陷模式描述窗口和缺陷模式選擇窗口; 第二預(yù)處理模塊,用于從所述缺陷模式描述窗口獲取靜態(tài)代碼的規(guī)則,將篩選后的有效規(guī)則轉(zhuǎn)換為缺陷模式; 第三預(yù)處理模塊,用于建立缺陷模式庫存儲(chǔ)所述缺陷模式; 缺陷分析工具,用于加載待測試靜態(tài)代碼,根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述靜態(tài)代碼的規(guī)則至少包括:靜態(tài)代碼遵循的標(biāo)準(zhǔn)規(guī)則,和/或靜態(tài)代碼的概要設(shè)計(jì),和/或用戶自定義的規(guī)則; 所述有效規(guī)則為能夠發(fā)現(xiàn)有效問題的規(guī)則。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述第二預(yù)處理模塊包括規(guī)則挖掘器、規(guī)則精化器和規(guī)則轉(zhuǎn)換器,其中, 所述規(guī)則挖掘器用于獲取靜態(tài)代碼的規(guī)則; 所述規(guī)則精化器用于對(duì)所述規(guī)則挖掘器獲取的靜態(tài)代碼的規(guī)則進(jìn)行篩選; 所述規(guī)則轉(zhuǎn)換器用于將篩選后的有效規(guī)則根據(jù)預(yù)先設(shè)置的條件進(jìn)行抽象概括,轉(zhuǎn)化為缺陷模式。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第三預(yù)處理模塊用于建立缺陷模式庫存儲(chǔ)缺陷模式具體為: 所述第三預(yù)處理模塊建立缺陷模式庫并根據(jù)缺陷模式種類存儲(chǔ)缺陷模式。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述缺陷分析工具用于根據(jù)所述缺陷模式描述窗口和/或缺陷模式選擇窗口的測試信息調(diào)用缺陷模式庫,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試具體為: 所述缺陷分析工具根據(jù)所述缺陷模式描述窗口的測試信息,創(chuàng)建新的缺陷模式存儲(chǔ)在缺陷模式庫中,調(diào)用缺陷模式庫中所述新的缺陷模式,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試; 根據(jù)所述缺陷模式選擇窗口的測試信息,確定所述待測試靜態(tài)代碼的需要測試的缺陷模式,調(diào)用缺陷模式庫中的相應(yīng)的缺陷模式,對(duì)所述待測試靜態(tài)代碼進(jìn)行測試。
【文檔編號(hào)】G06F11/36GK104484278SQ201510005060
【公開日】2015年4月1日 申請日期:2015年1月5日 優(yōu)先權(quán)日:2015年1月5日
【發(fā)明者】孫言弟, 趙霞, 劉成平 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司