亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于關(guān)聯(lián)規(guī)則挖掘的軟件缺陷分析研究

        2017-02-27 03:11:14顏樂(lè)鳴
        軟件 2017年1期
        關(guān)鍵詞:軟件缺陷項(xiàng)集軟件測(cè)試

        顏樂(lè)鳴

        (中國(guó)電子科技集團(tuán)公司第七研究所,廣州市 510310)

        基于關(guān)聯(lián)規(guī)則挖掘的軟件缺陷分析研究

        顏樂(lè)鳴

        (中國(guó)電子科技集團(tuán)公司第七研究所,廣州市 510310)

        軟件測(cè)試是確保軟件產(chǎn)品質(zhì)量的有效技術(shù)手段,其根本目的是發(fā)現(xiàn)隱藏在軟件中的缺陷,并通過(guò)對(duì)其的修復(fù)盡可能減少遺留在系統(tǒng)中的缺陷數(shù)量,以提升軟件的質(zhì)量。隨著缺陷數(shù)據(jù)的不斷積累,面對(duì)龐大、甚至海量的缺陷信息,已無(wú)法通過(guò)人工方式進(jìn)行缺陷分析?;诖耍髡邔?duì)缺陷分類和數(shù)據(jù)挖掘技術(shù)開(kāi)展研究,總結(jié)測(cè)試工程實(shí)踐中的缺陷特點(diǎn),提出改進(jìn)的正交缺陷分類模型;結(jié)合數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則挖掘算法,提出缺陷關(guān)聯(lián)分析模型。并對(duì)上述模型進(jìn)行應(yīng)用說(shuō)明,幫助軟件技術(shù)人員定位和解決缺陷,提供軟件測(cè)試缺陷分析的輔助手段。

        軟件測(cè)試;軟件缺陷分析;正交缺陷分類;關(guān)聯(lián)規(guī)則挖掘

        本文著錄格式:顏樂(lè)鳴. 基于關(guān)聯(lián)規(guī)則挖掘的軟件缺陷分析研究[J]. 軟件,2017,38(1):70-76

        0 引言

        軟件開(kāi)發(fā)是一項(xiàng)由人進(jìn)行的活動(dòng),在其過(guò)程中必定會(huì)因?yàn)槿说囊蛩囟a(chǎn)生缺陷,因此,缺陷是軟件與生俱來(lái)的特性,也是影響軟件質(zhì)量的重要因素和關(guān)鍵因素之一。軟件測(cè)試是以發(fā)現(xiàn)缺陷為目的的確保軟件產(chǎn)品質(zhì)量的有效技術(shù)手段,近年來(lái),軟件組織對(duì)軟件測(cè)試活動(dòng)的重視程度日益提升,但由于工程實(shí)踐中收集缺陷信息和分析方法的應(yīng)用會(huì)帶來(lái)較高的成本,許多軟件組織并未對(duì)缺陷數(shù)據(jù)的分析給予足夠重視,而且隨著缺陷數(shù)據(jù)的不斷積累和增長(zhǎng),使用傳統(tǒng)的缺陷分析方法分析海量缺陷數(shù)據(jù)已不能滿足缺陷管理的需求。

        數(shù)據(jù)挖掘技術(shù)能從大量數(shù)據(jù)中發(fā)掘有重要意義的信息,為決策提供有價(jià)值的參考,可以用于解決軟件測(cè)試領(lǐng)域中缺陷分析的問(wèn)題。近年來(lái),基于數(shù)據(jù)挖掘的方法在軟件測(cè)試領(lǐng)域有很多應(yīng)用,諸如美國(guó)、英國(guó)等發(fā)達(dá)國(guó)家,將數(shù)據(jù)挖掘技術(shù)在軟件測(cè)試領(lǐng)域的應(yīng)用作為研究熱點(diǎn),已經(jīng)研究出較多的方法用于輔佐測(cè)試及其過(guò)程改進(jìn)。這些成果包括測(cè)試數(shù)據(jù)生成、測(cè)試數(shù)據(jù)與缺陷之間的關(guān)系分析、故障定位、缺陷預(yù)測(cè)等[1,2,3,4]。目前,國(guó)內(nèi)外的研究成果表明,相關(guān)技術(shù)在測(cè)試中多應(yīng)用于處理龐大信息,但研究仍處于初期,尚未發(fā)布具有普適性、商業(yè)化的產(chǎn)品或應(yīng)用,國(guó)內(nèi)外目前尚無(wú)針對(duì)軟件缺陷的專用數(shù)據(jù)挖掘系統(tǒng)。

        本文試圖對(duì)缺陷進(jìn)行系統(tǒng)、全面的分類,通過(guò)建立缺陷分類模型,并在此基礎(chǔ)上應(yīng)用數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則方法對(duì)缺陷數(shù)據(jù)進(jìn)行分析,挖掘缺陷數(shù)據(jù)中有價(jià)值的信息,尋找隱藏在缺陷背后的共性原因,為缺陷預(yù)防、評(píng)估軟件質(zhì)量及產(chǎn)品決策提供參考依據(jù)。

        1 軟件缺陷

        1.1 軟件缺陷的定義

        軟件缺陷是存在于軟件文檔、程序及數(shù)據(jù)中不希望的或不可接受的偏差[5]。需求分析過(guò)程中錯(cuò)誤的需求定義,軟件設(shè)計(jì)過(guò)程中的設(shè)計(jì)錯(cuò)誤,編碼過(guò)程中出現(xiàn)的語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤,軟件開(kāi)發(fā)完成后沒(méi)有實(shí)現(xiàn)軟件功能,甚至是軟件交付后出現(xiàn)的導(dǎo)致軟件不能正常使用的情況等等,都可以稱為軟件缺陷。

        不論軟件規(guī)模的大小、開(kāi)發(fā)語(yǔ)言的種類、開(kāi)發(fā)技術(shù)的難易,都會(huì)因?yàn)槿说腻e(cuò)誤而在軟件中留下不良的影響,因此,不存在沒(méi)有缺陷的軟件,而且軟件中的缺陷將流轉(zhuǎn)于軟件開(kāi)發(fā)的整個(gè)生命周期,好比定時(shí)炸彈,當(dāng)滿足一定的觸發(fā)條件時(shí),將被激活。為了保證軟件的正常運(yùn)行,必須對(duì)缺陷進(jìn)行有效的管理,保證每一個(gè)被激活的缺陷都得到有效的處理,盡可能減少遺留在軟件產(chǎn)品中的缺陷,提高軟件的質(zhì)量。而缺陷分析則是缺陷管理中重要的內(nèi)容之一,有效的缺陷分析,不僅能評(píng)估軟件的質(zhì)量,還能在一定程度上抑制缺陷的增長(zhǎng)趨勢(shì),達(dá)到缺陷預(yù)防的目的。

        1.2 軟件缺陷分析

        缺陷分析是指將軟件研制過(guò)程中產(chǎn)生的缺陷信息進(jìn)行分類和匯總,以發(fā)現(xiàn)各種類型缺陷發(fā)生的概率,發(fā)現(xiàn)缺陷集中的模塊、掌握缺陷的發(fā)展規(guī)律、發(fā)掘缺陷產(chǎn)生的根本原因。通過(guò)缺陷分析,可以輔助軟件人員定位及修復(fù)缺陷,評(píng)估軟件質(zhì)量,制定缺陷預(yù)防措施。缺陷分析的過(guò)程如圖1所示。

        圖1 缺陷分析過(guò)程Fig.1 Defect analysis process

        在缺陷分析過(guò)程中,完整、準(zhǔn)確的記錄缺陷是開(kāi)展分析的基礎(chǔ)。隨著自動(dòng)化測(cè)試技術(shù)的興起,使用自動(dòng)化工具對(duì)缺陷進(jìn)行跟蹤管理變得普及,缺陷管理工具為記錄和采集缺陷提供了自動(dòng)化的手段,使得記錄和處理缺陷的效率得到了大大的提高,但是這些系統(tǒng)多用于缺陷跟蹤,對(duì)于缺陷的分析也僅限于度量和統(tǒng)計(jì)等定量分析,缺陷的分類標(biāo)準(zhǔn)和屬性描述也各不相同,每個(gè)系統(tǒng)中缺陷的屬性劃分均固定不變,很難適用于所有的軟件組織。

        通過(guò)對(duì)缺陷屬性的分解和定義,對(duì)軟件缺陷進(jìn)行分類,是缺陷分析的關(guān)鍵所在。但由于缺陷的表現(xiàn)方式、引入時(shí)段和產(chǎn)生原因多種多樣,對(duì)其進(jìn)行分類的方法也各不相同,自20世紀(jì)70年代起,研究人員開(kāi)始探索從不同角度對(duì)軟件缺陷進(jìn)行分類。典型的有IBM公司推出的正交缺陷分類法、IEEE制定的軟件異常分類標(biāo)準(zhǔn)、Thayer分類法、我國(guó)國(guó)家軍用標(biāo)準(zhǔn)《GJB 2786A軍用軟件開(kāi)發(fā)通用要求》中定義的軟件錯(cuò)誤等[6]。其中正交缺陷分類(Orthogonal Defects Classification,ODC)的應(yīng)用最為廣泛,它是IBM公司經(jīng)過(guò)了對(duì)大量產(chǎn)品的軟件缺陷進(jìn)行分析總結(jié)后于1992年提出的。正交缺陷分類法使用八個(gè)屬性全面描述了缺陷的特征:發(fā)現(xiàn)缺陷的活動(dòng)、缺陷引發(fā)事件、缺陷影響、缺陷載體、缺陷類型、缺陷限定詞、缺陷來(lái)源和缺陷年齡[7],其中每個(gè)屬性均包含各自的子屬性。該方法既是缺陷分類方法,又是軟件缺陷度量方法,體現(xiàn)了統(tǒng)計(jì)方法和原因分析的結(jié)合。包括IBM公司在內(nèi)的許多軟件組織都已接受并使用,并且已成為CMMI四級(jí)及五級(jí)的支撐工具之一,用于定量過(guò)程管理和缺陷預(yù)防。

        開(kāi)展缺陷分析的根本目的是預(yù)防缺陷,因此,缺陷預(yù)防成為缺陷分析過(guò)程中核心的組成部分。而預(yù)防缺陷的著力點(diǎn)則在于挖掘缺陷背后的共性原因。當(dāng)缺陷產(chǎn)生后,軟件人員的任務(wù)不僅僅是解決某一個(gè)缺陷,而應(yīng)該通過(guò)深入、詳細(xì)的分析缺陷數(shù)據(jù)去尋找缺陷的根本原因、共性原因,以防止缺陷的再次發(fā)生,不斷提高軟件開(kāi)發(fā)團(tuán)隊(duì)的技術(shù)能力和軟件產(chǎn)品質(zhì)量。

        2 數(shù)據(jù)挖掘

        2.1 數(shù)據(jù)挖掘的定義和任務(wù)

        數(shù)據(jù)挖掘是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,提取隱含在其中的潛在信息和知識(shí)的過(guò)程[8]。這些信息和知識(shí)對(duì)于決策分析或是尋找問(wèn)題的根本原因具有重要的意義,但其并非顯而易見(jiàn),而往往隱藏在數(shù)據(jù)之中,需要人們?nèi)ヌ綄ず屯诰颉?shù)據(jù)挖掘技術(shù)集合了傳統(tǒng)的數(shù)據(jù)分析方法和復(fù)雜的算法,大大增加了分析大數(shù)據(jù)量信息的可能性。

        數(shù)據(jù)挖掘任務(wù)主要分為預(yù)測(cè)任務(wù)和描述任務(wù)兩類[9]。預(yù)測(cè)任務(wù)的主要目標(biāo)是依據(jù)已有屬性的值,分析指定屬性的值,以預(yù)先推測(cè)事物未知的情況;描述任務(wù)的主要目標(biāo)為挖掘潛藏在數(shù)據(jù)中的聯(lián)系。具體來(lái)說(shuō),數(shù)據(jù)挖掘的任務(wù)可分為如下四個(gè)方面:

        (1)預(yù)測(cè)建模:以為目標(biāo)變量建立模型為目的,含分類任務(wù)和回歸任務(wù);

        (2)聚類分析:在相似的基礎(chǔ)上將數(shù)據(jù)集合分組,使相同簇內(nèi)對(duì)象的相似程度大,但不同簇之間的對(duì)象具有很大差異;

        (3)關(guān)聯(lián)分析:發(fā)掘不同數(shù)據(jù)對(duì)象間的關(guān)聯(lián);

        (4)異常檢測(cè):識(shí)別與其他數(shù)據(jù)特征有明顯差異的對(duì)象,發(fā)現(xiàn)異常和離群的現(xiàn)象。

        在軟件測(cè)試的工程實(shí)踐中,導(dǎo)致缺陷產(chǎn)生的原因可謂千奇百怪、五花八門,如圖2所示。傳統(tǒng)的報(bào)表形式只是反映了缺陷表象,卻無(wú)法表現(xiàn)缺陷之間隱含的關(guān)系。而且隨著軟件復(fù)雜度和規(guī)模的不斷提高,缺陷存在和產(chǎn)生的幾率將大大增加,某些大型軟件項(xiàng)目的缺陷甚至數(shù)以千計(jì),通過(guò)人工分析的方法對(duì)缺陷數(shù)據(jù)進(jìn)行逐一篩查已不太現(xiàn)實(shí)。作者試圖引入數(shù)據(jù)挖掘的技術(shù)手段,在對(duì)缺陷進(jìn)行系統(tǒng)分類的基礎(chǔ)上進(jìn)行缺陷關(guān)聯(lián)分析。

        2.2 與關(guān)聯(lián)規(guī)則有關(guān)的概念

        由于人們對(duì)事物認(rèn)知的局限性,導(dǎo)致數(shù)據(jù)存在著大量的未知關(guān)聯(lián),這些關(guān)聯(lián)均無(wú)法通過(guò)數(shù)據(jù)表格的形式表現(xiàn)出來(lái)。隨著收集和存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)規(guī)模越來(lái)越大,人們開(kāi)始對(duì)從這些數(shù)據(jù)中挖掘相應(yīng)的關(guān)聯(lián)知識(shí)越來(lái)越有興趣。關(guān)聯(lián)分析則是用于發(fā)現(xiàn)蘊(yùn)含在大型數(shù)據(jù)信息中有價(jià)值關(guān)聯(lián)的方法,并使用關(guān)聯(lián)規(guī)則來(lái)描述這些數(shù)據(jù)項(xiàng)之間的聯(lián)系,與之相關(guān)的概念主要有[9]:

        圖2 缺陷及其產(chǎn)生原因的關(guān)系Fig.2 The relationship between defect and their causes

        (1)事物集合和項(xiàng)的集合:

        使用D表示待分析的所有事務(wù)集合,則:

        使用I表示事物集合D中所有項(xiàng)的集合,則:

        (2)項(xiàng)集:所有項(xiàng)的集合中,其任何一個(gè)子集都可稱為項(xiàng)集,倘若某個(gè)項(xiàng)集含有k個(gè)項(xiàng),則稱其為k-項(xiàng)集。每個(gè)事物所包含的項(xiàng)集都是I的子集,記為:

        (3)支持度(support):X、Y同時(shí)在事物集合D中出現(xiàn)的概率。當(dāng)項(xiàng)集X在事物集合D里出現(xiàn)的概率不小于某個(gè)支持度的閾值時(shí),則稱X為頻繁項(xiàng)集,該支持度的閾值則為最小支持度(minsup),并使用Lk表示具有k個(gè)項(xiàng)的頻繁項(xiàng)集,稱為頻繁k項(xiàng)集;

        (4)置信度(confidence):在事物集合中出現(xiàn)項(xiàng)集X時(shí),同時(shí)出現(xiàn)項(xiàng)集Y的概率,它是Y出現(xiàn)在包含X的事物中頻繁程度的表現(xiàn)。在計(jì)算置信度時(shí),通常會(huì)預(yù)設(shè)置信度的最小值,即最小置信度(minconf);

        (5)關(guān)聯(lián)規(guī)則(Association Rules):以X→Y的邏輯表達(dá)式表示關(guān)聯(lián)規(guī)則,其中X和Y均屬于事物中全體項(xiàng)的集合,且X∩Y=Φ,及X和Y是不相交的集合。X→Y的強(qiáng)度可以使用支持度support(X→Y)和置信度confidence(X→Y)的值來(lái)表示。

        3 基于正交缺陷分類和關(guān)聯(lián)規(guī)則挖掘的缺陷分析

        3.1 改進(jìn)的正交缺陷分類參考模型

        通過(guò)對(duì)各種分類方法的比較和總結(jié)得出,正交缺陷分類方法從不同維度體現(xiàn)了缺陷的特征,分析人員可以使用這些特征對(duì)缺陷進(jìn)行系統(tǒng)性的分析,該方法既體現(xiàn)了定量分析,又結(jié)合了定性分析,從軟件全生命周期的角度看,使用正交缺陷分類法對(duì)缺陷數(shù)據(jù)進(jìn)行分析的結(jié)果可達(dá)到總攬全局的效果,但是傳統(tǒng)的該分類相對(duì)復(fù)雜,難以適用所有的軟件組織,為了降低分類的復(fù)雜度,提高缺陷分類的準(zhǔn)確性,提出了改進(jìn)的正交缺陷分類參考模型,如圖3所示。

        該模型參考傳統(tǒng)的正交缺陷分類法,在經(jīng)過(guò)對(duì)實(shí)際的缺陷數(shù)據(jù)進(jìn)行分析后,選擇軟件人員最關(guān)心的缺陷屬性作為分類的標(biāo)識(shí),亦通過(guò)八個(gè)屬性表示缺陷的特征,分別為缺陷的發(fā)現(xiàn)階段、引發(fā)事件、嚴(yán)重等級(jí)、缺陷來(lái)源、缺陷定位、產(chǎn)生影響、引入時(shí)段、引入類型,各屬性的描述如表1所示,其中引發(fā)事件、缺陷定位和產(chǎn)生影響的子屬性從缺陷數(shù)據(jù)的缺陷描述、定位和解決措施的語(yǔ)義信息提煉而來(lái)。在模型中,加入了缺陷的發(fā)現(xiàn)和修復(fù)階段的兩個(gè)過(guò)程因素,并從不同的角度和維度描述了缺陷的特征,可以幫助和引導(dǎo)測(cè)試人員和開(kāi)發(fā)人員從各自的立場(chǎng)對(duì)缺陷進(jìn)行分類,為缺陷分析提供準(zhǔn)確的數(shù)據(jù)基礎(chǔ)。

        圖3 改進(jìn)的正交缺陷分類模型Fig.3 Improved orthogonal defect classification model

        3.2 缺陷關(guān)聯(lián)分析模型

        在缺陷數(shù)據(jù)中,某些看上去述毫無(wú)聯(lián)系的缺陷可能會(huì)存在某種程度上的依賴關(guān)系,通過(guò)對(duì)缺陷進(jìn)行分類,可以從不同的立場(chǎng)和角度出發(fā),使用一定的算法發(fā)掘缺陷信息中的隱藏價(jià)值。在關(guān)聯(lián)分析中,Apriori算法是最經(jīng)典的關(guān)聯(lián)規(guī)則挖掘算法,其也被認(rèn)為是所有關(guān)聯(lián)分析算法的基礎(chǔ)。該算法由Agrawal和Verkamo于1994年提出,其基本思想是:首先從事件中集中尋找所有頻繁出現(xiàn)的事件子集,然后在這些頻繁事件子集中發(fā)現(xiàn)可信度較高的規(guī)則[10]。Apriori算法的整個(gè)挖掘過(guò)程圍繞著頻度和強(qiáng)度進(jìn)行,其主要步驟為:

        1)通過(guò)對(duì)候選k-項(xiàng)集Ck不斷的連接和剪枝,產(chǎn)生頻繁k-項(xiàng)集Lk;

        2)由頻繁項(xiàng)集Lk,確定其中不小于最小置信度的全部規(guī)則,產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。

        使用Apriori算法,對(duì)缺陷進(jìn)行關(guān)聯(lián)分析,建立缺陷管理分析模型如圖4所示。

        圖4 基于Apriori算法的缺陷關(guān)聯(lián)分析模型Fig.4 Defect association analysis model based on Apriori algorithm

        在使用缺陷關(guān)聯(lián)分析模型時(shí),結(jié)合改進(jìn)的缺陷分類模型,建立缺陷ODC屬性的集合I,該集合中包含了存在缺陷的所有ODC屬性項(xiàng)i1,i2,...in,則I={i1,i2,..in};事務(wù)集合則由產(chǎn)生的缺陷組成,可記為D={d1,d2,...dm},關(guān)聯(lián)規(guī)則產(chǎn)生過(guò)程可描述為:

        (1)生成候選1-項(xiàng)集C1,C1={i1,i2,..in},計(jì)算每個(gè)項(xiàng)在缺陷事務(wù)D中的支持度,刪除小于minsup的項(xiàng)集,產(chǎn)生頻繁1-項(xiàng)集L1;

        (2)由頻繁1-項(xiàng)集L1中產(chǎn)生候選C2-項(xiàng)集,刪除小于最小支持度的項(xiàng)集,產(chǎn)生頻繁2-項(xiàng)集L2;

        (3)由上一步產(chǎn)生的頻繁(k-1)-項(xiàng)集通過(guò)連接產(chǎn)生候選k-項(xiàng)集,并經(jīng)過(guò)剪枝,產(chǎn)生頻繁k-項(xiàng)集;

        (4)重復(fù)執(zhí)行連接步和剪枝葉步,直至不能在事務(wù)D中找出頻繁項(xiàng)集;

        (5)將所有大于最小支持度的頻繁項(xiàng)集計(jì)為L(zhǎng),產(chǎn)生L的所有非空子集s,并根據(jù)頻繁項(xiàng)集生成滿足最小置信度的關(guān)聯(lián)規(guī)則。

        3.3 模型的應(yīng)用

        在軟件測(cè)試中,測(cè)試人員希望發(fā)現(xiàn)的缺陷越多越好,但是窮盡測(cè)試是不現(xiàn)實(shí)的,而且在測(cè)試實(shí)踐中,出于進(jìn)度和成本的壓力,需要在有限的時(shí)間內(nèi)盡可能地覆蓋更多的需求,找出更多的缺陷,因此,測(cè)試人員關(guān)注的核心內(nèi)容是如何發(fā)現(xiàn)缺陷。在缺陷的ODC屬性中,引發(fā)事件表示了發(fā)現(xiàn)缺陷時(shí)所執(zhí)行的測(cè)試活動(dòng),它從不同的角度對(duì)引發(fā)缺陷的事件進(jìn)行了歸納,從該屬性出發(fā),可挖掘出各種引發(fā)事件之間的關(guān)聯(lián),幫助測(cè)試人員快速發(fā)現(xiàn)缺陷。

        選取缺陷ODC屬性中的引發(fā)事件作為分析對(duì)象,假設(shè)選項(xiàng)的缺陷屬性列表及缺陷如表2所示。采用布爾形式表示某屬性值是否引發(fā)缺陷。

        表2 “引發(fā)事件”屬性列表Tab. 2 “Trigger” attribute list

        由表1可建立事物集合D = {{功能,人機(jī)交互,業(yè)務(wù)流程},{邊界,人機(jī)交互,使用場(chǎng)景},{功能,邊界,人機(jī)交互,使用場(chǎng)景},{邊界,使用場(chǎng)景}},使用符號(hào)表示則為D = {{t1,t3,t4},{t2,t3,t5},{t1,t2,t3,t5}, {t2,t5}},如表3所示。

        表3 事物集合DTab. 3 Transaction set D

        預(yù)設(shè)最小支持度為50%,最小置信度為50%,經(jīng)過(guò)如圖5所示的步驟,經(jīng)過(guò)3次迭代后,產(chǎn)生頻繁項(xiàng)集{t2,t3,t5},其支持度為50%。其中,在產(chǎn)生候選k-項(xiàng)集時(shí),標(biāo)識(shí)為“×”表示該項(xiàng)集不滿足最小支持度的要求,可從集合中刪除。

        由頻繁項(xiàng)集{t2,t3,t5}的非空子集產(chǎn)生關(guān)聯(lián)規(guī)則,如圖6所示。

        計(jì)算各規(guī)則的置信度,滿足預(yù)設(shè)最小置信度要求的關(guān)聯(lián)規(guī)則如表4所示。表中所示的關(guān)聯(lián)規(guī)則展現(xiàn)了缺陷的引發(fā)事件中邊界、人機(jī)交互和使用場(chǎng)景之間的強(qiáng)關(guān)聯(lián)關(guān)系。當(dāng)被測(cè)軟件的使用場(chǎng)景和人機(jī)界面產(chǎn)生缺陷時(shí),必定引發(fā)邊界方面的缺陷,測(cè)試人員應(yīng)花費(fèi)更多的精力在各種場(chǎng)景的邊界測(cè)試設(shè)計(jì)和執(zhí)行中,而開(kāi)發(fā)人員則應(yīng)重新審視有關(guān)的設(shè)計(jì)和代碼并進(jìn)行必要的審查,杜絕由此引發(fā)更多的缺陷。

        4 結(jié)論

        本文提出了改進(jìn)的正交缺陷分類模型,從缺陷發(fā)現(xiàn)和修復(fù)兩個(gè)視角對(duì)缺陷的屬性進(jìn)行了劃分,在此分類的基礎(chǔ)上,對(duì)數(shù)據(jù)挖掘在缺陷分析的應(yīng)用進(jìn)行了初探,基于Apriori算法提出了缺陷關(guān)聯(lián)分析模型,并使用該模型對(duì)缺陷的“引發(fā)事件”屬性進(jìn)行分析應(yīng)用。

        軟件測(cè)試是保證軟件質(zhì)量的有效手段,雖然軟件測(cè)試無(wú)法發(fā)現(xiàn)所有的軟件缺陷,但可以通過(guò)對(duì)缺陷的分析達(dá)到預(yù)防缺陷的目的。后續(xù)工作中,我們將結(jié)合軟件測(cè)試的工程實(shí)踐,對(duì)改進(jìn)的正交缺陷分類模型中缺陷的子屬性進(jìn)行補(bǔ)充和完善,同時(shí)考慮結(jié)合數(shù)據(jù)挖掘工具選擇缺陷正交分類中的多個(gè)屬性展開(kāi)缺陷綜合分析,以挖掘埋藏于缺陷中的更深層次原因,從根本上消除缺陷存在的隱患。

        圖5 頻繁項(xiàng)集的產(chǎn)生Fig.5 Generate frequent itemsets

        圖6 關(guān)聯(lián)規(guī)則的產(chǎn)生Fig.6 Generate association rules

        表4 缺陷引發(fā)事件的關(guān)聯(lián)規(guī)則Tab. 4 Association rules of trriger

        [1] Chen Y, Shen X H, Du P, et al. Research on Software Defect Prediction Based on Data Mining[J]. IEEE, 2010, 1∶ 563-567.

        [2] 陳翔, 顧慶, 劉望舒, 等. 靜態(tài)軟件缺陷預(yù)測(cè)方法研究[J].軟件學(xué)報(bào), 201627(1)∶ 1-25. Chen X, Gu Q, Liu W S, et al. Survey of Static Software Defect Prediction[J]. RuanJianXueBao/Journal of Software,2016, 27(1)∶ 1240-25.(in Chinese)

        [3] LAST M, FRIEDMAN M, KANDEL A. The Data Mining Approach to Automated Software Testing[Z]. Washington. USA∶ SIGKDD, 2003.

        [4] Song QB, SHEPPERD M, CARTWRIGHT M, et al. Software Defect Association Mining and Defect Correction Effort Prediction[J]. IEEE Computer Society, 2006, 32(2)∶ 69-82.

        [5] 張廣梅. 軟件測(cè)試與可靠性評(píng)估[D]. 北京∶ 中國(guó)科學(xué)院計(jì)算技術(shù)研究所, 2006. ZHANG G M. Research on Software Testing and Reliability Evaluation Method[D]. BeiJing∶ Institute of Computing Technology, Chinese Academy of Sciences, 2006.(in Chinese)

        [6] 尹相樂(lè), 馬力, 關(guān)昕. 軟件缺陷分類的研究.計(jì)算機(jī)工程與設(shè)計(jì), 2008, 29(19)∶ 4910-4913. YIN X L, MA L, GUAN X. Research of Software Defects Classification[J]. Computer Engineering and Design. 2008, 29(19)∶ 4910-4913. (in Chinese)

        [7] 蔡建平, 王安生, 修佳鵬. 軟件測(cè)試方法與技術(shù)[M]. 北京∶清華大學(xué)出版社, 2014. Cai J P, WANG A S, XIU J P. Software Testing Method and Technology[M]. BeiJing∶ Tsinghua University Press, 2014. (in Chinese)

        [8] 韋群, 王玨. 軟件缺陷及其對(duì)軟件可靠性的影響分析[J].計(jì)算機(jī)應(yīng)用與軟件, 2011, 28(1)∶ 145-149. WEI Q, WANG Y. Software Defects and Analysis of its Impact upon Software Reliability[J]. Computer Application and Software. 2011, 28(1)∶ 145-149. (in Chinese)

        [9] TAN P N, STEINBACH M, KUMAR V. 數(shù)據(jù)挖掘?qū)д揫M].范明, 范宏建. 北京∶ 人民郵電出版社, 2011. TAN P N, STEINBACH M, KUMAR V. Introduction to Data Mining[M]. FAN M, FAN H J. BeiJing∶ Posts & Telecom Press, 2011. (in Chinese)

        [10] 王夢(mèng)雪. 數(shù)據(jù)挖掘綜述[J]. 軟件導(dǎo)刊, 2013, 12(10)∶135-137. WANG M X. a Survey of Data Mining[J]. Software Guide. 2013, 12(10)∶ 135-137. (in Chinese)

        Research of Software Defect Analysis Based on Association Rules Mining

        YAN Yue-ming

        (The 7th Research Institute of China Electronics Technology Group Corporation, Guangzhou 510310, China)

        Software testing is an important means to ensure the quality of software products. The target of software testing is to find defects and repair them as much as possible, finally to improve the quality of software. With the continuous accumulation of defect data, it is impossible to perform defect management and analysis artificial way, automatic method is necessary for reasonable and effective use of defect information. Base on the development of software defect management and data mining technology, the author summarized the characteristics of defects in software testing, and puts forward the improved orthogonal defect classification model and defect association analysis model. The application of the above model is explained, which can help the technicians to locate and solve the defects, and to provide the auxiliary means for software testing defect analysis.

        Software Testing; Software Defect Analysis; Orthogonal Defects Classification; Association Rules Mining

        TP311

        A

        10.3969/j.issn.1003-6970.2017.01.015

        顏樂(lè)鳴(1983-),女,工程師,主要研究方向:軟件測(cè)試,軟件工程。

        猜你喜歡
        軟件缺陷項(xiàng)集軟件測(cè)試
        基于源文件可疑度的靜態(tài)軟件缺陷檢測(cè)方法研究
        基于OBE的軟件測(cè)試課程教學(xué)改革探索
        EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        基于NPE-SVM的軟件缺陷預(yù)測(cè)模型
        關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
        開(kāi)源程序的軟件缺陷分布特征的量化分析研究
        軟件測(cè)試工程化模型及應(yīng)用研究
        關(guān)聯(lián)規(guī)則中經(jīng)典的Apriori算法研究
        卷宗(2014年5期)2014-07-15 07:47:08
        軟件缺陷管理方案分析
        一種頻繁核心項(xiàng)集的快速挖掘算法
        77777_亚洲午夜久久多人| 亚洲av免费高清不卡| 国产免费网站在线观看不卡| 免费a级毛片无码a∨蜜芽试看| 无码人妻精品一区二区在线视频| 一区一级三级在线观看| 91在线视频视频在线| 一本一道久久综合久久| 国产男女免费完整视频| 久久久男人天堂| 精品蜜桃av一区二区三区| 国产精品对白一区二区三区| 在线观看热码亚洲av每日更新 | 亚洲小说区图片区色综合网| 亚洲五月天综合| 亚欧乱色束缚一区二区三区| 亚洲精品大全中文字幕| 国产电影无码午夜在线播放| 97久久超碰国产精品2021| 久久精品视频按摩| 国产在线91精品观看| 特级毛片a级毛片100免费播放 | 亚洲国产成人久久综合| 久久国产精品国产精品日韩区| 中文字幕二区三区在线| 亚洲成av人片在线观看| 国产福利酱国产一区二区| 欧美精品v欧洲高清| 日韩五码一区二区三区地址| 少妇人妻综合久久中文字幕| 91日本精品国产免| 亚洲av乱码一区二区三区观影| 国产丝袜美腿精品91在线看| 成 人 免费 黄 色 视频| 国产亚洲精品hd网站| 成人av毛片免费大全| 性高朝大尺度少妇大屁股| 国产高潮精品久久AV无码| 国产成人一区二区三区| 又大又粗欧美黑人aaaaa片| 久久无码人妻一区二区三区午夜|