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