基于度量和微結構堆疊泛化的設計模式檢測方法的研究
發(fā)布時間:2021-04-08 07:55
設計模式檢測是理解和維護軟件系統(tǒng)的一項重要工作,它不僅有助于軟件體系結構的恢復和發(fā)現(xiàn),同時也是評估軟件質量的一個重要依據(jù)。目前設計模式檢測仍然存在一些問題:1)變體的檢測效果不理想;2)結構相同意圖不同的模式難以區(qū)分;3)行為型設計模式的檢測復雜;4)組合爆炸問題依然突出;本文以高效識別設計模式變體和提高設計模式識別準確率為目的,將面向對象度量與模式微結構相結合,提出了一種基于堆疊泛化的設計模式檢測方法。該方法應用典型的機器學習算法,針對每種設計模式,分別訓練度量分類器和微結構分類器,并基于兩者的預測值和相關對象模型特征進一步訓練,從而形成堆疊分類器。通過這些分類器對一個候選的模式實例進行分類,從而預測候選的模式實例是不是真正的模式實例。在訓練分類器之前,本文首先搜集訓練用的正負模式實例,然后盡可能地為每個實例計算更多的候選度量特征和候選微結構特征,從而生成相關分類器的訓練數(shù)據(jù)集,接著本文首先應用典型的特征選擇算法對設計模式的候選度量特征和微結構特征進行特征選擇,然后通過遍歷典型的有監(jiān)督學習算法來訓練相關分類器,最終為實驗的五種設計模式都找到了合適的度量特征集、度量分類器、微結構特征集...
【文章來源】:吉林大學吉林省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:59 頁
【學位級別】:碩士
【部分圖文】:
設計模式通用檢測框架一
圖 2.1 設計模式通用檢測框架一這些方法首先將設計模式和源碼轉換成相應的中間表示,然后在這些中間表示上執(zhí)行結構分析、行為分析和語義分析,并最終輸出檢測到的設計模式實例。采用設計模式和源碼的中間表示的好處之一是可以去掉無用信息,從而降低設計模式檢測的復雜度,另外還可以借助設計模式和源碼的中間表示來實現(xiàn)語言無關的設計模式檢測。后者大多數(shù)符合下面這樣一個通用的檢測框架:
第 2 章 相關理論介紹程中,同一模式就會出現(xiàn)各種各樣的變體。概括來講,造成模式變體的原因有兩個,一個是角色的變化,另一個是角色間關系的實現(xiàn)多樣性。下面我們舉例來說明這兩個原因。角色的變化主要包括“增”、“減”、 “拆”、 “合”、 “變”。其中“增”指的是角色的增加,包括兩種情況:中間類造成的角色增加和后代類造成的角色增加,舉例來講:
【參考文獻】:
博士論文
[1]設計模式的形式化研究及其EMF實現(xiàn)[D]. 劉強.華東師范大學 2011
本文編號:3125171
【文章來源】:吉林大學吉林省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:59 頁
【學位級別】:碩士
【部分圖文】:
設計模式通用檢測框架一
圖 2.1 設計模式通用檢測框架一這些方法首先將設計模式和源碼轉換成相應的中間表示,然后在這些中間表示上執(zhí)行結構分析、行為分析和語義分析,并最終輸出檢測到的設計模式實例。采用設計模式和源碼的中間表示的好處之一是可以去掉無用信息,從而降低設計模式檢測的復雜度,另外還可以借助設計模式和源碼的中間表示來實現(xiàn)語言無關的設計模式檢測。后者大多數(shù)符合下面這樣一個通用的檢測框架:
第 2 章 相關理論介紹程中,同一模式就會出現(xiàn)各種各樣的變體。概括來講,造成模式變體的原因有兩個,一個是角色的變化,另一個是角色間關系的實現(xiàn)多樣性。下面我們舉例來說明這兩個原因。角色的變化主要包括“增”、“減”、 “拆”、 “合”、 “變”。其中“增”指的是角色的增加,包括兩種情況:中間類造成的角色增加和后代類造成的角色增加,舉例來講:
【參考文獻】:
博士論文
[1]設計模式的形式化研究及其EMF實現(xiàn)[D]. 劉強.華東師范大學 2011
本文編號:3125171
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3125171.html
最近更新
教材專著