[發明專利]提高面向對象型軟件中類階層質量預測準確度的方法有效
| 申請號: | 200910050456.8 | 申請日: | 2009-04-30 |
| 公開(公告)號: | CN101546290A | 公開(公告)日: | 2009-09-30 |
| 發明(設計)人: | 黃鵬;朱杰 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 上海交達專利事務所 | 代理人: | 王錫麟;王桂忠 |
| 地址: | 200240*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 提高 面向 對象 軟件 階層 質量 預測 準確度 方法 | ||
1.一種提高面向對象型軟件中類階層質量預測準確度的方法,其特征在于,包括如下步驟:
第一步,提取面向對象型軟件模塊特征:采用樹形結構的知識表示方法,將軟件中的每一個類映射封裝為樹形結構的一個節點,每一個節點包含由特征提取而來的屬性-數值向量和結構化信息,其中屬性-數值向量是通過軟件度量提取而來,向量中的每一位代表使用某一個軟件度量對一個類進行測量所得到的值,而結構化信息則包含此節點的父結點和子節點的信息,表明此節點在類階層中的位置,結構化信息的來源是在面向對象型軟件中所特有的繼承關系;
第二步,建立類階層聚類操作的樹形數據結構:面向對象型軟件的邏輯模塊類與類之間存在著繼承的關系,這樣的關系能通過抽象的繼承樹來表示,使用繼承樹的拓撲結構來構造類模塊的樹形數據結構;
第三步,類階層的封裝聚類:結合類階層的樹形數據結構,將各個類映射到對應的向量空間,將這些在向量空間里面不可線性區分的數據點,映射到另外一個特征空間里,使兩類數據線性拆分;
第四步,選用分層核及對應產生的核矩陣來存儲樹形結構中的信息:采用適用于對面向對象中的類階層進行信息保留和處理的分層核函數,處理類階層樹形數據結構,計算類階層之間的內積,使用嵌入分層核的改進型支持向量機,并使用已有的經過完整測試的較早或者相似軟件中的軟件模塊來構造訓練數據集;
第五步,基于分層核的改進型支持向量機的訓練:對于原始數據集,須經過預處理和數據平衡兩道程序之后,才能放入到改進型支持向量機的訓練當中,訓練好的改進型支持向量機就可以對未測試和開發中的軟件模塊進行質量預測,此軟件質量預測模型的應用對象也是類階層,在訓練好的改進型支持向量機中輸入需要進行預測的軟件模塊對應的樹形數據結構,得到[-1,+1]間的輸出,如果輸出大于0,軟件模塊質量不易出錯;反之,輸出小于0的軟件模塊質量易出錯;
所述分層核函數KL(X,Y)的遞歸定義如下,其通過分解樹形結構而來,具體為:
KL(F,φ)=KL(φ,F)=0
KL(F1,F2)=KSET(lt(F1),lt(F2))×(1+KL(lr(F1),lr(F2)))+KL(lr(F1),F2)+KL(F1,lr(F2))
-KL(lr(F1),lr(F2))
其中和lr(F)返回樹形結構的第一層,lt(F)返回剩下的樹形結構,KSET為定義在集合上的核函數,
這里,KL(X,Y)表示分層核函數,其為兩個樹形結構X和Y的泛函:
如果X和Y中有一個為空集,KL(X,Y)=0
即:KL(F,φ)=KL(φ,F)=0,這里φ表示空集,F為任意樹形結構;
當X和Y皆不為空集時,KL(X,Y)通過遞歸形式表示:
KL(F1,F2)=KSET(lt(F1),lt(F2))×(1+KL(lr(F1),lr(F2)))+KL(lr(F1),F2)+KL(F1,lr(F2))-KL(lr(F1),lr(F2))
·為定義在集合上的核函數,為兩集合中兩兩元素內積之和,這里的Kc為線性核或高斯核常用核函數;
·lr(F)函數:得到樹形結構F的頂層節點集合,即F中沒有任何父節點的節點,返回也為一個樹形結構;
lt(F)函數:為原樹形結構F除去lr(F)之后剩下的樹形結構。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910050456.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種防積塞的給棉結構
- 下一篇:黃磷爐爐渣利用系統





