基于頻譜的模型轉(zhuǎn)換錯(cuò)誤定位方法研究
發(fā)布時(shí)間:2021-11-19 05:25
模型驅(qū)動(dòng)的軟件開發(fā)方式(Model-Driven Development,MDD)目前被廣泛應(yīng)用于面向服務(wù)架構(gòu)的信息系統(tǒng)中,而模型轉(zhuǎn)換作為MDD中的重要環(huán)節(jié)和核心技術(shù),它的正確性直接影響了基于MDD開發(fā)的軟件系統(tǒng)的成功。隨著模型轉(zhuǎn)換復(fù)雜性增加和規(guī)模的擴(kuò)大,模型轉(zhuǎn)換的可靠性保障越來(lái)越困難,調(diào)試模型轉(zhuǎn)換程序也面臨著許多挑戰(zhàn),而高效準(zhǔn)確的錯(cuò)誤定位方法能夠幫助提高調(diào)試效率,從而有效地保障模型轉(zhuǎn)換的質(zhì)量。目前,研究人員提出了一些自動(dòng)化的錯(cuò)誤定位方法來(lái)提高模型轉(zhuǎn)換的調(diào)試效率,其中基于頻譜的錯(cuò)誤定位技術(shù)(Spectrum-Based Fault Localization,SBFL)作為一種具有代表性的動(dòng)態(tài)分析方法,主要利用規(guī)則的覆蓋信息和執(zhí)行結(jié)果來(lái)估計(jì)每個(gè)規(guī)則可能出錯(cuò)的概率。然而由于模型轉(zhuǎn)換的特性,覆蓋信息中假陰性和假陽(yáng)性結(jié)果的普遍存在導(dǎo)致了頻譜方法的定位結(jié)果并不準(zhǔn)確,因此我們考慮是否可以通過(guò)挖掘不同測(cè)試模型的覆蓋范圍信息,來(lái)進(jìn)一步地提高錯(cuò)誤定位的準(zhǔn)確性。本文提出一種基于測(cè)試模型影響度來(lái)對(duì)SBFL進(jìn)行優(yōu)化的方法,并將其應(yīng)用于模型轉(zhuǎn)換的錯(cuò)誤定位中。該方法根據(jù)測(cè)試模型的覆蓋范圍,來(lái)評(píng)估不同測(cè)試模型對(duì)錯(cuò)誤...
【文章來(lái)源】:浙江理工大學(xué)浙江省
【文章頁(yè)數(shù)】:58 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2.1?MDD中的四層模型架構(gòu)??M3層作為元-元模型層,實(shí)現(xiàn)的方式是元對(duì)象工具(MetaObjectFacility,MOF),元-元??
少的失敗的測(cè)試模型的??權(quán)重更高,而相應(yīng)的被權(quán)重越高的測(cè)試模型覆蓋的規(guī)則更有可能是錯(cuò)誤的規(guī)則。??本文通過(guò)測(cè)試模型中覆蓋規(guī)則的數(shù)量來(lái)評(píng)價(jià)不同測(cè)試模型的影響,然后相應(yīng)地調(diào)整頻??譜的可疑規(guī)則列表,而調(diào)整原則是:(1)如果有一個(gè)失敗的測(cè)試模型涵蓋了較少的規(guī)則,則??為其分配更多的權(quán)重;(2)與權(quán)重更大的失敗的測(cè)試模型相關(guān)的規(guī)則可能更可疑;(3)與更??可疑的規(guī)則關(guān)聯(lián)的規(guī)則可能是錯(cuò)誤的,因?yàn)橐?guī)則之間的繼承關(guān)系可能導(dǎo)致錯(cuò)誤傳播。??3.2方法概述??本節(jié)概述我們的方法流程和具體的實(shí)現(xiàn)步驟,圖3.1展示了本文方法的基本框架,詳細(xì)??描述了我們方法的技術(shù)細(xì)節(jié),包括靜態(tài)和動(dòng)態(tài)分析,為規(guī)則分配權(quán)重值和基于加權(quán)頻譜的??錯(cuò)誤定位。??I?ATL轉(zhuǎn)換規(guī)則j ̄?靜態(tài)g析繼一|?????1???—'??;?乂構(gòu)造連接矩?,[n?j權(quán)重的頻譜信?|更新規(guī)則排????陣?M?A##?息?+?名列表???5^:卜[動(dòng)態(tài)!賴H丨規(guī)麵的計(jì)算?I?練_誤定位???連接信息的收集???圖3.1本文方法的基本框架??在第一步中,我們靜態(tài)分析轉(zhuǎn)換規(guī)則之間的繼承關(guān)系,用于區(qū)分頻譜的覆蓋信息中具??有相同可疑度值的規(guī)則,并在模型轉(zhuǎn)換執(zhí)行過(guò)程中動(dòng)態(tài)地收集規(guī)則在測(cè)試模型中的覆蓋信??息。第二步,根據(jù)收集到的覆蓋和繼承信息,建立測(cè)試模型與規(guī)則之間的連接關(guān)系,進(jìn)一??20??
??abstract?rule?NamedEiement{?binding?deletion?abstract?rule?NamedElement?{??from?s?:?SimpleDMLiNaiaedElement?from?s?:?SiiapleDULSName-iElement??to?t?:?ER!?Element?(?I?to?t?:?ER!?Element?(??name?<-?s.name?——name?<-?s.name????)?)??}?>??圖4.1?UML2HI中的一個(gè)突變體的示例??值得指出的是錯(cuò)誤定位方法的基礎(chǔ)是針對(duì)一組OCL斷言在語(yǔ)義上檢查模型轉(zhuǎn)換的正??確性,這意味著必須完成模型轉(zhuǎn)換,得到相應(yīng)的輸出模型。因此,我們所使用的模型轉(zhuǎn)換??的突變體并不會(huì)使測(cè)試模型拋出運(yùn)行時(shí)錯(cuò)誤,即它們都完成執(zhí)行并生成了輸出模型。所有??的突變體至少有會(huì)使一個(gè)OCL約束違反,以指示模型轉(zhuǎn)換中存在錯(cuò)誤,如表所示,這108??個(gè)突變體一共導(dǎo)致了?514個(gè)OCL斷言的違反,并生成了相應(yīng)的覆蓋矩陣和結(jié)果向量。??4.2可疑度計(jì)算方式??為了評(píng)估不同可疑度計(jì)算技術(shù)在模型轉(zhuǎn)換錯(cuò)誤定位方面的效果,我們選取了?12個(gè)計(jì)??算公式來(lái)計(jì)算規(guī)則的可疑度得分,如表4.2所示,列出了具體的技術(shù)名稱和計(jì)算公式。我??們?cè)u(píng)估的基礎(chǔ)是514個(gè)違反的OCL斷言所生成的覆蓋信息,通過(guò)分析覆蓋信息和轉(zhuǎn)換結(jié)??果,評(píng)估更新后的規(guī)則排名列表。???表42可疑度計(jì)算公式???方法名稱?計(jì)算公式??Arithmetic??2(Ncf?*?Nus?—?NUf?*?Ncs)???Mean[58]?(Ncf?+?Nc
本文編號(hào):3504380
【文章來(lái)源】:浙江理工大學(xué)浙江省
【文章頁(yè)數(shù)】:58 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2.1?MDD中的四層模型架構(gòu)??M3層作為元-元模型層,實(shí)現(xiàn)的方式是元對(duì)象工具(MetaObjectFacility,MOF),元-元??
少的失敗的測(cè)試模型的??權(quán)重更高,而相應(yīng)的被權(quán)重越高的測(cè)試模型覆蓋的規(guī)則更有可能是錯(cuò)誤的規(guī)則。??本文通過(guò)測(cè)試模型中覆蓋規(guī)則的數(shù)量來(lái)評(píng)價(jià)不同測(cè)試模型的影響,然后相應(yīng)地調(diào)整頻??譜的可疑規(guī)則列表,而調(diào)整原則是:(1)如果有一個(gè)失敗的測(cè)試模型涵蓋了較少的規(guī)則,則??為其分配更多的權(quán)重;(2)與權(quán)重更大的失敗的測(cè)試模型相關(guān)的規(guī)則可能更可疑;(3)與更??可疑的規(guī)則關(guān)聯(lián)的規(guī)則可能是錯(cuò)誤的,因?yàn)橐?guī)則之間的繼承關(guān)系可能導(dǎo)致錯(cuò)誤傳播。??3.2方法概述??本節(jié)概述我們的方法流程和具體的實(shí)現(xiàn)步驟,圖3.1展示了本文方法的基本框架,詳細(xì)??描述了我們方法的技術(shù)細(xì)節(jié),包括靜態(tài)和動(dòng)態(tài)分析,為規(guī)則分配權(quán)重值和基于加權(quán)頻譜的??錯(cuò)誤定位。??I?ATL轉(zhuǎn)換規(guī)則j ̄?靜態(tài)g析繼一|?????1???—'??;?乂構(gòu)造連接矩?,[n?j權(quán)重的頻譜信?|更新規(guī)則排????陣?M?A##?息?+?名列表???5^:卜[動(dòng)態(tài)!賴H丨規(guī)麵的計(jì)算?I?練_誤定位???連接信息的收集???圖3.1本文方法的基本框架??在第一步中,我們靜態(tài)分析轉(zhuǎn)換規(guī)則之間的繼承關(guān)系,用于區(qū)分頻譜的覆蓋信息中具??有相同可疑度值的規(guī)則,并在模型轉(zhuǎn)換執(zhí)行過(guò)程中動(dòng)態(tài)地收集規(guī)則在測(cè)試模型中的覆蓋信??息。第二步,根據(jù)收集到的覆蓋和繼承信息,建立測(cè)試模型與規(guī)則之間的連接關(guān)系,進(jìn)一??20??
??abstract?rule?NamedEiement{?binding?deletion?abstract?rule?NamedElement?{??from?s?:?SimpleDMLiNaiaedElement?from?s?:?SiiapleDULSName-iElement??to?t?:?ER!?Element?(?I?to?t?:?ER!?Element?(??name?<-?s.name?——name?<-?s.name????)?)??}?>??圖4.1?UML2HI中的一個(gè)突變體的示例??值得指出的是錯(cuò)誤定位方法的基礎(chǔ)是針對(duì)一組OCL斷言在語(yǔ)義上檢查模型轉(zhuǎn)換的正??確性,這意味著必須完成模型轉(zhuǎn)換,得到相應(yīng)的輸出模型。因此,我們所使用的模型轉(zhuǎn)換??的突變體并不會(huì)使測(cè)試模型拋出運(yùn)行時(shí)錯(cuò)誤,即它們都完成執(zhí)行并生成了輸出模型。所有??的突變體至少有會(huì)使一個(gè)OCL約束違反,以指示模型轉(zhuǎn)換中存在錯(cuò)誤,如表所示,這108??個(gè)突變體一共導(dǎo)致了?514個(gè)OCL斷言的違反,并生成了相應(yīng)的覆蓋矩陣和結(jié)果向量。??4.2可疑度計(jì)算方式??為了評(píng)估不同可疑度計(jì)算技術(shù)在模型轉(zhuǎn)換錯(cuò)誤定位方面的效果,我們選取了?12個(gè)計(jì)??算公式來(lái)計(jì)算規(guī)則的可疑度得分,如表4.2所示,列出了具體的技術(shù)名稱和計(jì)算公式。我??們?cè)u(píng)估的基礎(chǔ)是514個(gè)違反的OCL斷言所生成的覆蓋信息,通過(guò)分析覆蓋信息和轉(zhuǎn)換結(jié)??果,評(píng)估更新后的規(guī)則排名列表。???表42可疑度計(jì)算公式???方法名稱?計(jì)算公式??Arithmetic??2(Ncf?*?Nus?—?NUf?*?Ncs)???Mean[58]?(Ncf?+?Nc
本文編號(hào):3504380
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3504380.html
最近更新
教材專著