亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于調(diào)用環(huán)境樹(shù)的軟件度量研究

        2014-08-24 09:00:47王鳳琴
        關(guān)鍵詞:關(guān)聯(lián)定義環(huán)境

        王鳳琴

        (湖北師范學(xué)院 物理與電子科學(xué)學(xué)院, 湖北 黃石 435002)

        基于調(diào)用環(huán)境樹(shù)的軟件度量研究

        王鳳琴

        (湖北師范學(xué)院 物理與電子科學(xué)學(xué)院, 湖北 黃石 435002)

        通過(guò)對(duì)調(diào)用環(huán)境樹(shù)的擴(kuò)展,并針對(duì)方法的類內(nèi)和類間度量,在提出新的度量公式的基礎(chǔ)上,證明了相關(guān)的度量可行性需滿足的性質(zhì)。

        調(diào)用環(huán)境樹(shù);方法度量;軟件度量

        0 前言

        軟件度量是一個(gè)研究非?;钴S的領(lǐng)域。Stevens提出了面向過(guò)程開(kāi)發(fā)領(lǐng)域中的聚合,指出聚合為一個(gè)模塊的元素屬于另外一個(gè)模塊的度量值。Eder[1]提供了一個(gè)以高聚合為目標(biāo)的框架,并提出了可理解的面向?qū)ο笙到y(tǒng)的聚合標(biāo)準(zhǔn)。他們采用已有的基于過(guò)程的和基于對(duì)象的度量框架,區(qū)分了面向?qū)ο蟮娜N類型聚合:方法,類和繼承聚合。Chidamber和Kemerer[2,3]定義相似為共同的屬性集合,并以此來(lái)定義類的聚合為它的方法的相似度。方法集合M的相似度是所有屬性中的共同被使用的屬性的數(shù)量。

        1 基于擴(kuò)展調(diào)用環(huán)境樹(shù)的方法聚合度量

        Atanas Rountev[4]認(rèn)為調(diào)用環(huán)境樹(shù)是方法體中方法互相調(diào)用的上下文。本文在此基礎(chǔ)上進(jìn)行了擴(kuò)展:1)增加“方法的所屬類”關(guān)系進(jìn)而對(duì)類進(jìn)行相關(guān)度量;2)擴(kuò)展注釋信息以加強(qiáng)程序理解;3)增加方法調(diào)用線性鏈以進(jìn)行更精確的度量。擴(kuò)展調(diào)用環(huán)境樹(shù)考慮系統(tǒng)中類的方法之間的消息傳遞關(guān)系,是一種可以加強(qiáng)程序理解的可視化圖形。它既顯現(xiàn)出同一個(gè)類中方法之間的調(diào)用關(guān)系,也顯現(xiàn)出不同類的方法之間的調(diào)用。擴(kuò)展調(diào)用環(huán)境樹(shù)的形式定義:

        定義1 擴(kuò)展調(diào)用環(huán)境樹(shù)是一個(gè)帶根星型總線圖G=(root,V,E,Order).其中:root是系統(tǒng)的入口方法。V表示結(jié)點(diǎn)集合。V=(header,comment),結(jié)點(diǎn)包括頭信息header和注釋comment.頭信息中定義了消息傳遞格式style.E表示邊的集合,可以看作調(diào)用方和被調(diào)用方的偏序關(guān)系,E=,callout表示調(diào)用結(jié)點(diǎn),callin表示被調(diào)用結(jié)點(diǎn)。Order是一個(gè)簡(jiǎn)單的整數(shù),表示一個(gè)非葉子結(jié)點(diǎn)中的調(diào)用順序。

        定義2 header=style1∨style2∨style3∨style4。 “∨ ”表示析取關(guān)系。style1=方法名M(參數(shù)列表) in 類對(duì)象名C,表示類C中的結(jié)點(diǎn)所表示的方法/模塊M.style2=方法名M(參數(shù)列表) in style1.Style3=方法名M(參數(shù)列表) in 類對(duì)象名C:對(duì)象名V;表示賦值語(yǔ)句。sytle4=style3 of[返回類型],返回類型是style3中的對(duì)象名V的返回類型。

        定義3 總線結(jié)構(gòu),有兩種情況采用總線結(jié)構(gòu),第一種情況是共享數(shù)據(jù)依賴,兩個(gè)方法中引用相同的參數(shù)或者全局變量。第二種情況是方法調(diào)用依賴。記為:DirectlylineStructure(V)表示直接相連方法鏈,結(jié)點(diǎn)在整個(gè)系統(tǒng)中引出的線性結(jié)構(gòu)記為lineStructure(V).顯然DirectlylineStructure(V) ?lineStructure(V).

        定義4 星型結(jié)構(gòu):星型和總線是圖的拓?fù)浣Y(jié)構(gòu),是方法的無(wú)相關(guān)調(diào)用關(guān)系。記為:starStructure(V).

        定義5 類內(nèi)鏈出度數(shù):?vi∈V,vi∈linStructure.V記number(ei|vi→vi+1)(inClass)表示在結(jié)點(diǎn)vi所引出的鏈中直接關(guān)聯(lián)并在同一個(gè)類中的結(jié)點(diǎn)連接的邊的個(gè)數(shù)。

        定義6 類內(nèi)出度數(shù):?vi∈V,記number( ei|vi→vi+1)(DirectlyinClass)表示結(jié)點(diǎn)vi所引出的邊中兩個(gè)在同一個(gè)類中的結(jié)點(diǎn)直接連接的邊的個(gè)數(shù)。

        定義7 類外出度數(shù):?vi∈V,記number(ei|vi→vi+1)(DirectlyoutClass)表示結(jié)點(diǎn)vi所引出的邊中兩個(gè)不在同一個(gè)類中的結(jié)點(diǎn)直接連接的邊的個(gè)數(shù)。

        定義8 結(jié)點(diǎn)鏈層數(shù):

        |lineStructure|(layer)=number(ei|vi→vi+1)(inClass)+number(ei|vi→vi+1)(outClass)

        定義9 相關(guān)節(jié)點(diǎn)個(gè)數(shù):鏈上所有節(jié)點(diǎn)之和|M|,在圖中顯示為從特定節(jié)點(diǎn)所能到達(dá)的所有節(jié)點(diǎn)之和。為|M|=number(ei:callout):(vi)+|lineStructure|(layer)

        定義10 度量公式:

        類內(nèi)直接連接方法的相對(duì)數(shù)(類內(nèi)緊密類內(nèi)聚度):

        類內(nèi)直接或者間接連接方法的相對(duì)數(shù)(類內(nèi)松散類內(nèi)聚度):

        類間直接連接方法的相對(duì)數(shù)(類間緊密類內(nèi)聚度):

        類間直接或者間接連接方法的相對(duì)數(shù)(類間松散類內(nèi)聚度):

        2 相關(guān)性質(zhì)證明

        本節(jié)中給出在文獻(xiàn)[5]中所描述的聚合度量應(yīng)該滿足的性質(zhì)(非負(fù)和正規(guī)性,空值和最大值,單調(diào)性,無(wú)關(guān)結(jié)點(diǎn)聯(lián)合)的證明。

        性質(zhì)1 非負(fù)和正規(guī)性:度量值都在[0.0..1.0]區(qū)間范圍之內(nèi)。

        證明 從度量公式中可以看出,公式的分子小于分母,因此,此結(jié)論成立。

        性質(zhì)2 空值和最大值:如果關(guān)聯(lián)為空,聚合值為0,最大關(guān)聯(lián)時(shí)聚合值為最大。

        證明 沒(méi)有關(guān)聯(lián),度量值為0(根據(jù)聚合公式)。當(dāng)所有的關(guān)聯(lián)都表示要度量的聚合時(shí),聚合值為最大,值為1.

        下面的x表示對(duì)應(yīng)公式分子,y表示對(duì)應(yīng)公式的分母,z表示引出的線性個(gè)數(shù)。

        性質(zhì)3 單調(diào)性:從一個(gè)類中,移除關(guān)聯(lián)應(yīng)該比沒(méi)有移去之前更少類內(nèi)聚合。

        性質(zhì)4 單調(diào)性:增加關(guān)聯(lián)后比沒(méi)有增加關(guān)聯(lián)之前更多的聚合。

        性質(zhì)5 無(wú)關(guān)結(jié)點(diǎn)聯(lián)合:合并無(wú)關(guān)結(jié)點(diǎn)后,得到的聚合度量值不會(huì)增加。

        證明 采用數(shù)學(xué)歸納法,只需證明合并兩個(gè)結(jié)點(diǎn)的情況。再使用窮舉法,分為下列幾種情況:第一是當(dāng)合并的結(jié)點(diǎn)都為葉子結(jié)點(diǎn)時(shí),由于合并前后的度量值都為0,也就是說(shuō)合并后的聚合度量值沒(méi)有增加;第二種情況時(shí)合并的結(jié)點(diǎn)都為孤立結(jié)點(diǎn),合并前后的度量值也為0;第三種情況是合并的結(jié)點(diǎn)之一為葉子結(jié)點(diǎn)或者為孤立結(jié)點(diǎn),由于葉子結(jié)點(diǎn)和孤立結(jié)點(diǎn)沒(méi)有分支,度量的結(jié)果為非葉子結(jié)點(diǎn)的度量值;第四種情況是合并的結(jié)點(diǎn)都是非葉子結(jié)點(diǎn),此時(shí)也就證明如下不等式:

        注意:上面的不等式同時(shí)取等號(hào)的情況是:y1≥1∧y2≥1 ∧(z1=0∨z2=0)這是由于分母不為0,因此就不能取等號(hào)。取等號(hào)的情況是上面討論的三種情況。

        性質(zhì)6 兩個(gè)類或者方法除非完全相同,采用相同的度量產(chǎn)生的度量值可能相同。

        證明 有兩種情況:第一種情況是:由于本文的度量是基于方法間的消息傳遞而產(chǎn)生的調(diào)用環(huán)境圖,如果由兩個(gè)結(jié)點(diǎn)產(chǎn)生的圖形是同態(tài)的,也就是說(shuō),這兩個(gè)結(jié)點(diǎn)的消息傳遞關(guān)系在數(shù)值上會(huì)產(chǎn)生相同的值。從而會(huì)產(chǎn)生相同的值,但是這也可以說(shuō):它們之間有相同的聚合/耦合度量。第二種情況是:考察的兩個(gè)結(jié)點(diǎn)的度量公式的分子分母的比值相同,此時(shí)應(yīng)該借助經(jīng)驗(yàn)系統(tǒng)來(lái)判斷。

        性質(zhì)7 對(duì)于關(guān)聯(lián)的重新排列,緊密類聚合不變。

        證明 邊的計(jì)數(shù)是決定什么測(cè)量,邊的數(shù)值沒(méi)有變化,由度量公式可以看出,此結(jié)論是正確的。

        性質(zhì)8LCC對(duì)應(yīng)的關(guān)系是相應(yīng)于TCC對(duì)應(yīng)的關(guān)系的傳遞閉包(LCCic和LCCoc相應(yīng),TCCoc和TCCic相應(yīng))。

        證明 設(shè)(mi,mj) 和(mj,mk) 是類內(nèi)直接調(diào)用關(guān)系,由圖的出度和入度可以看出(mi,mk) 也存在于類內(nèi)間接調(diào)用關(guān)系的集合中。因此,由傳遞閉包的定義,LCCic是相應(yīng)于TCCic的傳遞閉包;同理可以證明:LCCoc是相應(yīng)于TCCoc的傳遞閉包。

        3 實(shí)例

        圖1是一個(gè)簡(jiǎn)單的程序產(chǎn)生的調(diào)用環(huán)境圖和相應(yīng)的度量值,限于篇幅關(guān)系,本節(jié)略去了相應(yīng)的程序。從表1中可以看出:h1()的TCCic>TCCoc,且LCCic>LCCoc,h1()中很好的滿足面向?qū)ο蟮母呔酆咸匦裕驗(yàn)閔1()中調(diào)用的方法基本上和h1()同屬相同的類里。但是對(duì)于g2()方法,其TCCicTCCoc,它存在某些壞味道,需要進(jìn)行重構(gòu),因?yàn)間2基本上只是調(diào)用了其它類的方法,它更適合放到其它類里面。

        4 總結(jié)與展望

        本文分析了當(dāng)前在逆向工程領(lǐng)域和聚合度量領(lǐng)域的研究現(xiàn)狀,對(duì)方法度量提出了新的度量公式,但是存在如下問(wèn)題未解決1)沒(méi)有進(jìn)行方法交互的分類;2)方法交互的潛在線性相關(guān)關(guān)系,這將作為本文的后期工作。

        圖1 產(chǎn)生的調(diào)用環(huán)境圖

        表1 方法的類間和類內(nèi)度量值

        [1]Eder J,Kappel G,Schrefl M.Coupleing and Cohesion in Object-Oriented Systems[R]. Technical Report,University of Klagenfurt,1994.

        [2]Chidamber S R,Kemerer C F. Towards a Metrics Suit for Object Oriented design[C]. In Proc.Conference on Object Oriented Programming:System,Languages and Applications(OOPSLA'91), SIGPLAN Notices,1991, 26(11),197~211.

        [3]Chidamber S R,Kemerer C F.A Metric Suit for Object-Oriented design[J]. IEEE Transactions on Software Engineering,1994, 20(6):476~493.

        [4]Atanas Rountev, Scott Kagan, Michael Gibas.Static and Dynamic Analysis of Call Chains in Java[C].ISSTA'04, July 11~14, 2004, Boston, Massachusetts, USA ACM.

        [5]Lieberherr K J,Xiao C.Formal Foundation for Object-Oriented Data Modeling[J].in IEEE Transactions on knowledge and Data Engineering,1993,5:462~478.

        Softwaremetricsbasedoncall-contexttree

        WANG Feng-qin

        (College of Physics and Electronic Science,Hubei Normal University,Huangshi 435002,China)

        To extend the Call Context Tree, and to measure the coherency between the in classes and outer classes, based on the new measure formulas, this paper prove the properties which need to satisfy the feasibility of software measure.

        call context tree; method measure; software measure

        2013—12—10

        湖北師范學(xué)院青年項(xiàng)目

        王鳳琴(1979— ),女,甘肅渭源人,碩士,講師,研究方向?yàn)閿?shù)字圖像處理、軟件度量、分布式程序設(shè)計(jì)、大數(shù)據(jù)算法分析.

        TP311.5

        A

        1009-2714(2014)02- 0001- 04

        10.3969/j.issn.1009-2714.2014.02.001

        猜你喜歡
        關(guān)聯(lián)定義環(huán)境
        “苦”的關(guān)聯(lián)
        長(zhǎng)期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        環(huán)境
        奇趣搭配
        智趣
        讀者(2017年5期)2017-02-15 18:04:18
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        修辭學(xué)的重大定義
        山的定義
        色偷偷亚洲av男人的天堂| 国产女人高潮叫床免费视频| 欲色天天网综合久久| 国产短视频精品区第一页| 久久精品国产亚洲av成人无人区 | 亚洲一区二区自拍偷拍| 成年女人午夜特黄特色毛片免| 久久黄色国产精品一区视频| 国模雨珍浓密毛大尺度150p| 成人天堂资源www在线| 无码av专区丝袜专区| 小池里奈第一部av在线观看| 久久婷婷五月综合97色一本一本| 国产精品久久久久久麻豆一区| 亚洲日产AV中文字幕无码偷拍| 国产三级精品三级在线专区 | 极品尤物在线精品一区二区三区| 人人人妻人人澡人人爽欧美一区| 无套内谢孕妇毛片免费看看| 亚洲嫩模一区二区三区视频| 久久久精品毛片免费观看| 精品亚洲成a人片在线观看| 亚洲成人欧美| 国产三级在线观看不卡| 无码人妻久久一区二区三区免费丨| 国产成人无码一区二区在线观看 | 国产日产在线视频一区| 在线欧美中文字幕农村电影| 亚洲AV日韩AV无码A一区| 在线观看免费的黄片小视频| 波多野结衣在线播放| 亚洲欧洲精品成人久久曰影片 | 中文字幕乱码中文乱码毛片| 国产草逼视频免费观看| 国内精品卡一卡二卡三| 成人无码h真人在线网站| 中文字幕一区二区三区亚洲| 亚洲午夜无码毛片av久久| 国产精品免费久久久久影院仙踪林 | 日本伦理美乳中文字幕| 无码国内精品人妻少妇蜜桃视频 |