国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

設(shè)計模式挖掘的有效性評估策略

2021-04-13 01:33:58肖卓宇徐運(yùn)標(biāo)王林春
關(guān)鍵詞:設(shè)計模式意圖基準(zhǔn)

肖卓宇,郭 杰,陳 果,徐運(yùn)標(biāo),王林春

(湖南工業(yè)職業(yè)技術(shù)學(xué)院信息工程學(xué)院,湖南 長沙,410208)

1 引言

源程序中融入設(shè)計模式有助于提高軟件的可重用性和可維護(hù)性[1-3]。設(shè)計模式可在軟件開發(fā)過程的分析與設(shè)計階段扮演重要角色[4-6]。軟件設(shè)計模式提供設(shè)計級別的應(yīng)用,常用于解決重復(fù)出現(xiàn)的軟件設(shè)計問題[7-8]。設(shè)計模式應(yīng)用涉及正向工程和逆向工程領(lǐng)域,而設(shè)計模式挖掘?qū)儆谀嫦蚬こ痰牡湫蛻?yīng)用,有助于程序理解[9-12]、軟件維護(hù)[13-16]、系統(tǒng)重構(gòu)等[17-18]。由此可見,設(shè)計模式挖掘研究是一項(xiàng)具有積極意義的重要工作。為此,國內(nèi)外眾多科學(xué)研究圍繞設(shè)計模式挖掘展開。

Fontana 提出將源碼抽取為中間微結(jié)構(gòu)EDP,CLUE 等,進(jìn)而篩選設(shè)計模式參與者候選集合,最終實(shí)現(xiàn)設(shè)計模式挖掘[19-20]。Zanoni[21]與Chihada[22]將決策樹、隨機(jī)森林與支持向量機(jī)等機(jī)器學(xué)習(xí)算法融入設(shè)計模式實(shí)例挖掘,并通過多個指標(biāo)閾值調(diào)優(yōu)實(shí)現(xiàn)方法優(yōu)化。肖卓宇歸納了設(shè)計模式變體的普遍性規(guī)則[23],并解決了設(shè)計模式實(shí)例共享問題[24],能一定程度減少假陰性與假陽性挖掘結(jié)果。Guéhéneuc[25]構(gòu)建了23 種標(biāo)準(zhǔn)設(shè)計模式挖掘的基準(zhǔn)案例庫P-mart。課題組先前工作厘析了設(shè)計模式挖掘的主要影響因素,關(guān)注了工具、語言、變體、實(shí)例共享與目錄位置等問題[26-28]。

總而言之,現(xiàn)有設(shè)計模式挖掘相關(guān)工作存在以下問題:

(1)對設(shè)計模式設(shè)計意圖的理解缺乏清晰的認(rèn)識;

(2)缺乏對設(shè)計模式挖掘結(jié)果中間表示形式的關(guān)注;

(3)對設(shè)計模式挖掘的基準(zhǔn)系統(tǒng)缺乏有效歸納;

為此,研究針對設(shè)計模式挖掘結(jié)果有效性評估方法缺乏的問題,提出一種設(shè)計模式挖掘有效性評估策略,分類歸納了3 類設(shè)計模式的設(shè)計意圖,整理了設(shè)計模式挖掘的基準(zhǔn)測試系統(tǒng),探究了設(shè)計模式挖掘結(jié)果的中間形式表示,可為設(shè)計模式挖掘的理論與應(yīng)用研究提供支持。

本研究主要貢獻(xiàn)如下:

(1)對GOF 設(shè)計模式設(shè)的計意圖分類進(jìn)行了歸納;

(2)分類探究了設(shè)計模式挖掘中間結(jié)果表示的形式;

表1 設(shè)計模式的設(shè)計意圖分類

(3)分析歸納了主流設(shè)計模式挖掘的基準(zhǔn)測試系統(tǒng);

文章余下部分組織如下:第2 節(jié)對設(shè)計模式設(shè)計意圖進(jìn)行了分類研究;第3 節(jié)對設(shè)計模式挖掘的基準(zhǔn)系統(tǒng)進(jìn)行歸納與分析;第4 節(jié)對設(shè)計模式挖掘結(jié)果的中間表示形式進(jìn)行了歸納與分析;第5 節(jié)對設(shè)計模式挖掘的效度進(jìn)行了分析;第6節(jié)對全文工作進(jìn)行總結(jié),并對未來工作進(jìn)行規(guī)劃。

2 設(shè)計模式設(shè)計意圖分類研究

(Gang of Four,GoF)GoF[29]歸納了23 種經(jīng)典設(shè)計模式,分為結(jié)構(gòu)型設(shè)計模式、行為型設(shè)計模式和創(chuàng)建型設(shè)計模式三類。每種設(shè)計模式都有其不同的設(shè)計意圖、結(jié)構(gòu)、別名和參與者類(角色)等信息,并能提供針對特定設(shè)計問題的解決方案。

通過分析文獻(xiàn)[2-6]研究后發(fā)現(xiàn),設(shè)計意圖的獲取在設(shè)計模式挖掘精確率的所有影響特征指標(biāo)中起主導(dǎo)性作用,也是軟件研發(fā)人員選擇不同設(shè)計模式,甚至是設(shè)計模式自動推薦的重要依據(jù)。為此,本研究通過表1 對不同設(shè)計模式的設(shè)計意圖進(jìn)行了詳細(xì)的歸納與總結(jié)。表1 將23 種設(shè)計模式分為結(jié)構(gòu)型、行為型與創(chuàng)建型三類,其中,結(jié)構(gòu)型設(shè)計模式包括Adapter 模式等7 種;行為型設(shè)計模式包括Visitor 模式等11 種;創(chuàng)建型設(shè)計模式包括Prototype 模式等5 種。

表1 設(shè)計模式的設(shè)計意圖分類

3 設(shè)計模式挖掘的基準(zhǔn)系統(tǒng)

目前,設(shè)計模式挖掘方法或工具使用不同的開源軟件系統(tǒng)進(jìn)行評估,但由于部分方法或工具并未公開,故難以有效評價每種工具或方法的優(yōu)缺點(diǎn)及適合的測試場景。為了解決這個問題,本研究對國內(nèi)外主要設(shè)計模式挖掘精確率評估測試系統(tǒng)進(jìn)行了歸納總結(jié),見表2。通過對表2 分析歸納發(fā)現(xiàn),最常用的開放式源系統(tǒng)為JHotDraw、JRefacto ry、JUnit v3.7 和QuickUML 2001 等。進(jìn)一步深入研究后發(fā)現(xiàn),選擇這些軟件系統(tǒng)作為設(shè)計模式挖掘基準(zhǔn)系統(tǒng)的原因歸納為:

(1)使用了多種典型代表性GOF 設(shè)計模式;

(2)待挖掘系統(tǒng)為開源系統(tǒng),且其程序源代碼是公開的,這將有助于研究人員對不同設(shè)計模式進(jìn)行標(biāo)注;

(3)待挖掘系統(tǒng)不僅有小規(guī)模測試軟件系統(tǒng),更有中型、大型軟件測試系統(tǒng),甚至是超大型遺產(chǎn)系統(tǒng)。

(4)待挖掘系統(tǒng)主要通過Java 程序語言實(shí)現(xiàn),除此之外也包括少部分C++、Smalltalk、C#語言研發(fā)的軟件系統(tǒng)。

表2 設(shè)計模式挖掘方法/工具的測試系統(tǒng)

4 設(shè)計模式挖掘結(jié)果的中間表示

通過研究國內(nèi)外主要研究文獻(xiàn)發(fā)現(xiàn),目前設(shè)計模式挖掘方法或工具為提高挖掘結(jié)果的精確率、F-Score 等指標(biāo),習(xí)慣于將待挖掘軟件系統(tǒng)的源碼通過工具抽取為中間結(jié)果,如Matrix、Prolog、ASG(Abstract Syntax Graph)、AST(Abstract Syntax Tree)、PADL 等表示形式,進(jìn)而過濾設(shè)計模式參與者角色中與其他參與者不存在任何關(guān)系或關(guān)系作用不顯著的類或接口等。為此,本研究對國內(nèi)外主要工具或方法的抽取中間表示結(jié)果進(jìn)行了歸納與總結(jié),見表3。

表3 設(shè)計模式挖掘方法/工具中間結(jié)果表示

5 效度分析

現(xiàn)階段國內(nèi)外學(xué)者對設(shè)計模式挖掘的工具或方法進(jìn)行了相關(guān)研究,取得了一定了成效,但同樣存在諸多問題,現(xiàn)將主要問題歸納如下5 點(diǎn):

(1)設(shè)計模式的設(shè)計意圖難以有效獲取,故容易出現(xiàn)設(shè)計意圖相近的設(shè)計模式挖掘失??;

(2)現(xiàn)有設(shè)計模式挖掘的工具主要支持Java研發(fā)的軟件系統(tǒng),缺乏對其他主流程序語言的支持;

(3)設(shè)計模式挖掘的基準(zhǔn)系統(tǒng)不夠完善,尤其缺乏設(shè)計模式變體、設(shè)計模式附加關(guān)系、設(shè)計模式共享實(shí)例等基準(zhǔn)案例庫的歸納;

(4)設(shè)計模式挖掘?qū)嶒?yàn)未公開工具、平臺或方法等、故難以有效開展交叉比較實(shí)驗(yàn);

(5)設(shè)計模式挖掘?qū)嶒?yàn)僅僅針對某種或某幾種設(shè)計模式,沒有進(jìn)行多元、全面、系統(tǒng)的深入研究;

6 結(jié)語

研究工作歸納為:

(1)提出一種設(shè)計模式挖掘有效性評估策略;

(2)分結(jié)構(gòu)型、行為型和創(chuàng)建型三類歸納了設(shè)計模式的設(shè)計意圖;

(3)分析了設(shè)計模式挖掘的基準(zhǔn)測試系統(tǒng);

(4)探究了設(shè)計模式挖掘結(jié)果的中間形式表示;

未來工作致力于:

(1)設(shè)計模式挖掘的理論與應(yīng)用研究;

(2)探究設(shè)計模式挖掘的關(guān)鍵技術(shù)研究;

(3)設(shè)計模式演化后變體基準(zhǔn)案例庫的完善等。

猜你喜歡
設(shè)計模式意圖基準(zhǔn)
仿生設(shè)計模式的創(chuàng)新應(yīng)用探索
玩具世界(2023年6期)2024-01-29 12:14:36
原始意圖、對抗主義和非解釋主義
法律方法(2022年2期)2022-10-20 06:42:20
陸游詩寫意圖(國畫)
“1+1”作業(yè)設(shè)計模式的實(shí)踐探索
制定法解釋與立法意圖的反事實(shí)檢驗(yàn)
法律方法(2021年3期)2021-03-16 05:56:58
交通機(jī)電工程設(shè)計模式創(chuàng)新探討
明基準(zhǔn)講方法??待R
滑落還是攀爬
燕山秋意圖
巧用基準(zhǔn)變換實(shí)現(xiàn)裝配檢測
河南科技(2014年15期)2014-02-27 14:12:35
金塔县| 常德市| 温宿县| 阳曲县| 宁强县| 福贡县| 襄樊市| 商南县| 通山县| 科技| 庆城县| 洛阳市| 易门县| 军事| 长乐市| 孝昌县| 谷城县| 揭东县| 陕西省| 同仁县| 天津市| 富阳市| 九江市| 梨树县| 玉龙| 来宾市| 安岳县| 广宁县| 分宜县| 临猗县| 柞水县| 阆中市| 彭泽县| 镇安县| 招远市| 云南省| 天祝| 林西县| 深圳市| 益阳市| 广宁县|