基于相似度評分、FSM和機器學習的設計模式識別
發(fā)布時間:2025-02-27 19:23
設計模式是人們在實踐過程中總結出來的成功設計的范例,它們幫助設計者將新的設計建立在以往工作的基礎上,復用以往成功的設計方案。設計模式的應用使得軟件系統(tǒng)的開發(fā)效率和軟件系統(tǒng)的質(zhì)量都得到了很大的提升。然而,許多系統(tǒng)的設計文檔或者不完整,或者與源代碼不完全匹配。對于使用敏捷開發(fā)方法構建的軟件系統(tǒng),這個問題更為嚴重。另一方面,即使系統(tǒng)的設計文檔完整可用且與源代碼完全匹配,這些文檔可能并未詳細記錄設計模式使用信息。因此,高效、準確地自動識別出系統(tǒng)中包含的設計模式實例,對理解、維護和重構大型軟件項目具有重要意義。近年來,國內(nèi)外的相關文獻已經(jīng)提出很多設計模式自動識別的方法。然而,設計模式的識別是一個比較復雜的問題,這些方法存在以下不足:1)這些文獻大多是將模式與整個系統(tǒng)進行匹配,因此識別的準確率和時間性能并不高。其中一些文獻嘗試在執(zhí)行搜索算法前減少搜索空間以優(yōu)化時間性能,但仍然是在整個系統(tǒng)的基礎上對搜索空間進行縮小。2)行為型模式的識別是一個頗有挑戰(zhàn)性的問題,F(xiàn)有文獻有些只針對結構型/創(chuàng)建型模式的識別,并不能檢測行為型模式。還有文獻試圖使用同一個匹配算法搜索結構型/創(chuàng)建型模式和行為型模式,識別的準確率...
【文章頁數(shù)】:131 頁
【學位級別】:博士
【文章目錄】:
摘要
Abstract
1 引言
1.1 課題的背景及意義
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 源代碼信息的提取
1.2.2 系統(tǒng)和模式的表示
1.2.3 模式搜索算法
1.2.4 支撐工具
1.2.5 時間性能的優(yōu)化
1.2.6 基于機器學習的設計模式識別
1.2.7 模式變體的識別
1.3 當前研究存在的問題與不足
1.4 論文研究的主要內(nèi)容及創(chuàng)新點
1.4.1 主要內(nèi)容
1.4.2 創(chuàng)新點
1.5 章節(jié)安排
2 相關知識和技術
2.1 設計模式
2.2 UML
2.2.1 類圖
2.2.2 序列圖
2.3 相似度評分算法
2.4 FSM
2.5 軟件度量
2.6 機器學習與ANN
2.6.1 機器學習
2.6.2 ANN
2.7 本章小結
3 系統(tǒng)和設計模式的表示及源代碼信息的提取
3.1 源代碼信息的提取
3.1.1 靜態(tài)信息的提取
3.1.2 動態(tài)信息的提取
3.2 系統(tǒng)和設計模式的有向圖/矩陣表示
3.3 行為型模式的FSM表示
3.4 本章小結
4 基于相似度評分和二級子系統(tǒng)的設計模式識別
4.1 基本流程
4.2 子系統(tǒng)的劃分
4.3 二級子系統(tǒng)的構建
4.4 相似度矩陣的計算
4.5 二級子系統(tǒng)是否為模式實例的判斷
4.6 基于二級子系統(tǒng)的模式實例獲取
4.7 本章小結
5 基于FSM的行為型模式確認
5.1 基本流程
5.2 行為型模式候選實例的獲取
5.3 模式的類和方法到實例的映射及客戶端的確認
5.4 候選實例的方法調(diào)用跟蹤的捕獲
5.5 方法調(diào)用跟蹤與FSM的匹配
5.6 行為型模式候選實例的確認
5.7 本章小結
6 基于軟件度量、命名特征和機器學習的行為型模式確認
6.1 基本流程
6.2 現(xiàn)有設計模式識別算法的選取
6.3 開源項目的選取
6.4 模式實例的存儲與投票數(shù)統(tǒng)計
6.5 正負樣本的判定與標記
6.6 設計模式的命名特征
6.7 基于人工神經(jīng)網(wǎng)絡的決策模型生成
6.8 基于決策模型的行為型模式候選實例的確認
6.9 本章小結
7 實驗及結果分析
7.1 實驗環(huán)境
7.2 評估指標
7.3 結果分析
7.4 本章小結
8 結論與展望
8.1 結論
8.2 下一步的工作
參考文獻
附錄A
致謝
作者簡介
本文編號:4034402
【文章頁數(shù)】:131 頁
【學位級別】:博士
【文章目錄】:
摘要
Abstract
1 引言
1.1 課題的背景及意義
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 源代碼信息的提取
1.2.2 系統(tǒng)和模式的表示
1.2.3 模式搜索算法
1.2.4 支撐工具
1.2.5 時間性能的優(yōu)化
1.2.6 基于機器學習的設計模式識別
1.2.7 模式變體的識別
1.3 當前研究存在的問題與不足
1.4 論文研究的主要內(nèi)容及創(chuàng)新點
1.4.1 主要內(nèi)容
1.4.2 創(chuàng)新點
1.5 章節(jié)安排
2 相關知識和技術
2.1 設計模式
2.2 UML
2.2.1 類圖
2.2.2 序列圖
2.3 相似度評分算法
2.4 FSM
2.5 軟件度量
2.6 機器學習與ANN
2.6.1 機器學習
2.6.2 ANN
2.7 本章小結
3 系統(tǒng)和設計模式的表示及源代碼信息的提取
3.1 源代碼信息的提取
3.1.1 靜態(tài)信息的提取
3.1.2 動態(tài)信息的提取
3.2 系統(tǒng)和設計模式的有向圖/矩陣表示
3.3 行為型模式的FSM表示
3.4 本章小結
4 基于相似度評分和二級子系統(tǒng)的設計模式識別
4.1 基本流程
4.2 子系統(tǒng)的劃分
4.3 二級子系統(tǒng)的構建
4.4 相似度矩陣的計算
4.5 二級子系統(tǒng)是否為模式實例的判斷
4.6 基于二級子系統(tǒng)的模式實例獲取
4.7 本章小結
5 基于FSM的行為型模式確認
5.1 基本流程
5.2 行為型模式候選實例的獲取
5.3 模式的類和方法到實例的映射及客戶端的確認
5.4 候選實例的方法調(diào)用跟蹤的捕獲
5.5 方法調(diào)用跟蹤與FSM的匹配
5.6 行為型模式候選實例的確認
5.7 本章小結
6 基于軟件度量、命名特征和機器學習的行為型模式確認
6.1 基本流程
6.2 現(xiàn)有設計模式識別算法的選取
6.3 開源項目的選取
6.4 模式實例的存儲與投票數(shù)統(tǒng)計
6.5 正負樣本的判定與標記
6.6 設計模式的命名特征
6.7 基于人工神經(jīng)網(wǎng)絡的決策模型生成
6.8 基于決策模型的行為型模式候選實例的確認
6.9 本章小結
7 實驗及結果分析
7.1 實驗環(huán)境
7.2 評估指標
7.3 結果分析
7.4 本章小結
8 結論與展望
8.1 結論
8.2 下一步的工作
參考文獻
附錄A
致謝
作者簡介
本文編號:4034402
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/4034402.html
最近更新
教材專著