999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于調用環境樹的軟件度量研究

2014-08-24 09:00:47王鳳琴
關鍵詞:關聯定義環境

王鳳琴

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

基于調用環境樹的軟件度量研究

王鳳琴

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

通過對調用環境樹的擴展,并針對方法的類內和類間度量,在提出新的度量公式的基礎上,證明了相關的度量可行性需滿足的性質。

調用環境樹;方法度量;軟件度量

0 前言

軟件度量是一個研究非常活躍的領域。Stevens提出了面向過程開發領域中的聚合,指出聚合為一個模塊的元素屬于另外一個模塊的度量值。Eder[1]提供了一個以高聚合為目標的框架,并提出了可理解的面向對象系統的聚合標準。他們采用已有的基于過程的和基于對象的度量框架,區分了面向對象的三種類型聚合:方法,類和繼承聚合。Chidamber和Kemerer[2,3]定義相似為共同的屬性集合,并以此來定義類的聚合為它的方法的相似度。方法集合M的相似度是所有屬性中的共同被使用的屬性的數量。

1 基于擴展調用環境樹的方法聚合度量

Atanas Rountev[4]認為調用環境樹是方法體中方法互相調用的上下文。本文在此基礎上進行了擴展:1)增加“方法的所屬類”關系進而對類進行相關度量;2)擴展注釋信息以加強程序理解;3)增加方法調用線性鏈以進行更精確的度量。擴展調用環境樹考慮系統中類的方法之間的消息傳遞關系,是一種可以加強程序理解的可視化圖形。它既顯現出同一個類中方法之間的調用關系,也顯現出不同類的方法之間的調用。擴展調用環境樹的形式定義:

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

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

定義3 總線結構,有兩種情況采用總線結構,第一種情況是共享數據依賴,兩個方法中引用相同的參數或者全局變量。第二種情況是方法調用依賴。記為:DirectlylineStructure(V)表示直接相連方法鏈,結點在整個系統中引出的線性結構記為lineStructure(V).顯然DirectlylineStructure(V) ?lineStructure(V).

定義4 星型結構:星型和總線是圖的拓撲結構,是方法的無相關調用關系。記為:starStructure(V).

定義5 類內鏈出度數:?vi∈V,vi∈linStructure.V記number(ei|vi→vi+1)(inClass)表示在結點vi所引出的鏈中直接關聯并在同一個類中的結點連接的邊的個數。

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

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

定義8 結點鏈層數:

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

定義9 相關節點個數:鏈上所有節點之和|M|,在圖中顯示為從特定節點所能到達的所有節點之和。為|M|=number(ei:callout):(vi)+|lineStructure|(layer)

定義10 度量公式:

類內直接連接方法的相對數(類內緊密類內聚度):

類內直接或者間接連接方法的相對數(類內松散類內聚度):

類間直接連接方法的相對數(類間緊密類內聚度):

類間直接或者間接連接方法的相對數(類間松散類內聚度):

2 相關性質證明

本節中給出在文獻[5]中所描述的聚合度量應該滿足的性質(非負和正規性,空值和最大值,單調性,無關結點聯合)的證明。

性質1 非負和正規性:度量值都在[0.0..1.0]區間范圍之內。

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

性質2 空值和最大值:如果關聯為空,聚合值為0,最大關聯時聚合值為最大。

證明 沒有關聯,度量值為0(根據聚合公式)。當所有的關聯都表示要度量的聚合時,聚合值為最大,值為1.

下面的x表示對應公式分子,y表示對應公式的分母,z表示引出的線性個數。

性質3 單調性:從一個類中,移除關聯應該比沒有移去之前更少類內聚合。

性質4 單調性:增加關聯后比沒有增加關聯之前更多的聚合。

性質5 無關結點聯合:合并無關結點后,得到的聚合度量值不會增加。

證明 采用數學歸納法,只需證明合并兩個結點的情況。再使用窮舉法,分為下列幾種情況:第一是當合并的結點都為葉子結點時,由于合并前后的度量值都為0,也就是說合并后的聚合度量值沒有增加;第二種情況時合并的結點都為孤立結點,合并前后的度量值也為0;第三種情況是合并的結點之一為葉子結點或者為孤立結點,由于葉子結點和孤立結點沒有分支,度量的結果為非葉子結點的度量值;第四種情況是合并的結點都是非葉子結點,此時也就證明如下不等式:

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

性質6 兩個類或者方法除非完全相同,采用相同的度量產生的度量值可能相同。

證明 有兩種情況:第一種情況是:由于本文的度量是基于方法間的消息傳遞而產生的調用環境圖,如果由兩個結點產生的圖形是同態的,也就是說,這兩個結點的消息傳遞關系在數值上會產生相同的值。從而會產生相同的值,但是這也可以說:它們之間有相同的聚合/耦合度量。第二種情況是:考察的兩個結點的度量公式的分子分母的比值相同,此時應該借助經驗系統來判斷。

性質7 對于關聯的重新排列,緊密類聚合不變。

證明 邊的計數是決定什么測量,邊的數值沒有變化,由度量公式可以看出,此結論是正確的。

性質8LCC對應的關系是相應于TCC對應的關系的傳遞閉包(LCCic和LCCoc相應,TCCoc和TCCic相應)。

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

3 實例

圖1是一個簡單的程序產生的調用環境圖和相應的度量值,限于篇幅關系,本節略去了相應的程序。從表1中可以看出:h1()的TCCic>TCCoc,且LCCic>LCCoc,h1()中很好的滿足面向對象的高聚合特性,因為h1()中調用的方法基本上和h1()同屬相同的類里。但是對于g2()方法,其TCCicTCCoc,它存在某些壞味道,需要進行重構,因為g2基本上只是調用了其它類的方法,它更適合放到其它類里面。

4 總結與展望

本文分析了當前在逆向工程領域和聚合度量領域的研究現狀,對方法度量提出了新的度量公式,但是存在如下問題未解決1)沒有進行方法交互的分類;2)方法交互的潛在線性相關關系,這將作為本文的后期工作。

圖1 產生的調用環境圖

表1 方法的類間和類內度量值

[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

湖北師范學院青年項目

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

TP311.5

A

1009-2714(2014)02- 0001- 04

10.3969/j.issn.1009-2714.2014.02.001

猜你喜歡
關聯定義環境
“苦”的關聯
當代陜西(2021年17期)2021-11-06 03:21:36
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
孕期遠離容易致畸的環境
環境
奇趣搭配
智趣
讀者(2017年5期)2017-02-15 18:04:18
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
主站蜘蛛池模板: 久久国产精品夜色| 午夜a级毛片| 中文字幕天无码久久精品视频免费| 欧美日韩高清| 看av免费毛片手机播放| 四虎亚洲国产成人久久精品| 日韩国产另类| 97在线公开视频| 97国内精品久久久久不卡| 日本日韩欧美| 国产乱子伦视频三区| 成人夜夜嗨| 亚洲日本中文字幕天堂网| 91精品福利自产拍在线观看| 亚洲精品在线观看91| 亚洲人成色77777在线观看| 伊人久综合| 亚洲一区黄色| 99精品伊人久久久大香线蕉| 免费看一级毛片波多结衣| 2020最新国产精品视频| 中文天堂在线视频| 亚洲区一区| 中文天堂在线视频| 亚洲精品制服丝袜二区| 国语少妇高潮| 成人在线观看一区| 日韩精品成人在线| 成人免费网站久久久| 婷婷六月综合网| 成人在线观看一区| 婷婷伊人久久| 91香蕉国产亚洲一二三区| 久久伊伊香蕉综合精品| 亚洲 欧美 偷自乱 图片| 中文字幕色站| lhav亚洲精品| 亚洲三级电影在线播放| 在线视频精品一区| 99久久精品国产综合婷婷| 欧美视频在线第一页| 亚洲午夜国产片在线观看| 精品国产免费观看一区| 国产欧美日韩另类精彩视频| 91蝌蚪视频在线观看| 国产精品嫩草影院视频| 亚洲人成网线在线播放va| 亚洲大尺度在线| 91精品啪在线观看国产| 美女毛片在线| 毛片免费在线视频| 国产h视频免费观看| 国产99热| 亚洲九九视频| 欧美成在线视频| 四虎在线观看视频高清无码| 91娇喘视频| 2022国产91精品久久久久久| 午夜丁香婷婷| 成人免费网站久久久| 热九九精品| 亚洲欧美自拍视频| 国产高清在线观看91精品| 69综合网| 啪啪啪亚洲无码| 99这里只有精品在线| 亚洲国产精品一区二区高清无码久久| 久久综合AV免费观看| 国产亚洲欧美在线中文bt天堂 | 黄片在线永久| 岛国精品一区免费视频在线观看| 亚洲日本中文字幕天堂网| 午夜激情福利视频| 亚洲无码91视频| 亚洲欧洲AV一区二区三区| 99伊人精品| 亚洲人成成无码网WWW| 久久国产精品电影| 亚洲AV色香蕉一区二区| 四虎影视8848永久精品| 亚洲第一中文字幕| 永久在线精品免费视频观看|