[發明專利]一種基于LDA主題模型的相關軟件歷史數據提取方法有效
| 申請號: | 201410029273.9 | 申請日: | 2014-01-22 |
| 公開(公告)號: | CN103729473B | 公開(公告)日: | 2016-11-09 |
| 發明(設計)人: | 孫小兵;李云;楊智松;劉湘月 | 申請(專利權)人: | 揚州大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 南京蘇科專利代理有限責任公司 32102 | 代理人: | 董旭東 |
| 地址: | 225009 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 lda 主題 模型 相關 軟件 歷史數據 提取 方法 | ||
技術領域
本發明涉及一種軟件維護方法,特別涉及一種軟件歷史數據提取方法。
背景技術
當前很少有軟件是從零開發,大部分軟件都是經過不斷的修改和升級而進行演化的,軟件演化的本質也即是軟件修改,而每一次的軟件修改都需要完整準確地記錄在軟件演化歷史庫中,這些軟件歷史庫包括軟件的源代碼、軟件的修改記錄、維護或開發人員的通信記錄等。這些軟件開發和維護歷史記錄往往可以用于評估和實施新的修改請求。具體地,用戶提出某個新的維護請求,開發人員在對該請求的評估和實施時往往會參考已有軟件歷史庫中一些數據來指導當前維護請求的評估和實施。而隨著軟件的演化,軟件歷史庫越來越龐大,哪些信息是有用的,哪些信息是過時的,很難去辨別。而軟件演化歷史庫在軟件維護和演化過程中是必不可少的信息分析來源,目前大量的在軟件維護和演化方面的研究和應用都是基于軟件演化歷史數據的挖掘和分析進行的。例如,利用軟件演化歷史庫中的共同修改可以指導開發人員去分析某個修改所需進行的共同修改元素,軟件演化歷史庫中的故障跟蹤庫可幫助開發人員預測當前軟件中包含的可能故障,軟件演化歷史庫可用來幫助分析某個維護請求應由哪個開發人員去實施比較合適,等。所以,參考軟件演化歷史庫中的已有相關歷史數據能有效地指導當前維護請求。
但是到目前為止,大部分研究或應用都是關于怎么使用軟件演化歷史庫來指導軟件維護和演化活動的,很少有關于如何從軟件歷史庫中選取相關當前維護請求和當前軟件的軟件歷史數據。盡管研究表明使用軟件演化歷史庫可有效改進傳統的基于單一的當前軟件版本的分析技術,但是,這些軟件維護與演化活動如果直接使用軟件演化歷史數據進行分析,其精度還不是很高,并不能對實際的維護請求給出很有效的指導作用。當前關于這方面的研究主要是選取最近的幾個軟件版本歷史數據來指導當前軟件維護請求的評估與實施。但是,當前的維護請求并不一定就與最近的幾個軟件版本數據相關,它可能與更前面的歷史數據相關或者相似,這樣,參考更前面的歷史數據對當前維護請求更具指導意義,這是軟件歷史相關數據選取不全面的原因造成的。另外,如果在最近的幾個軟件歷史版本中,有一些與當前軟件版本相背或相差甚大的軟件修改版本如果也選擇作為分析對象進行分析,就會造成當前維護請求的干擾,會造成當前維護請求評估結果的很大偏差,這是不相干的軟件歷史數據造成評估結果精確性差的原因。因此,我們需要采取有效的方法從軟件演化歷史庫中選擇與當前軟件版本和當前維護請求相關的歷史數據進行分析,這樣,可有效地改進軟件維護和演化各種活動的精確性和有效性。
現有技術中的軟件演化歷史庫包括故障跟蹤庫、通信庫以及軟件版本控制庫,故障跟蹤庫中主要保存的是已有的一些故障的修改和處理;通信庫中主要保存開發人員在開發過程中保存的關于軟件系統開發的交流信息;軟件版本控制庫是存儲整個軟件升級的各個版本的演化情況。
隱含狄利克雷分布(Latent?Dirichlet?Allocation,簡稱LDA)是一種分析非結構化文本語料庫的概率模型。該模型可以提取概括整個文檔的主題。我們利用隱含狄利克雷分布提取不同軟件數據的主題,然后通過相似度計算與當前軟件版本和維護請求相關的歷史數據作為本次維護請求的評估和實施數據來源,這樣可有效改進軟件維護和演化各種活動的精確性和有效性。
發明內容
本發明的目的是提供一種基于LDA主題模型的相關軟件歷史數據提取方法,利用主題模型中的隱含狄利克雷分布(LDA)技術有效地進行相關軟件歷史數據的提取,直接生成一種高質量、高效的相關軟件歷史數據集,提高軟件維護與演化的精度。
本發明的目的是這樣實現的:一種基于LDA主題模型的相關軟件歷史數據提取方法,其特征在于,包括以下步驟:
步驟1:將軟件當前所需的維護請求進行預處理,所述預處理過程包括將請求語句進行分解,表示成用于相似度計算的一個由單詞組成的向量MR;
步驟2:從軟件演化歷史庫中選取故障跟蹤庫和通信庫進行分析;通過LDA主題模型對故障跟蹤庫和通信庫進行分析,提取潛在主題,故障跟蹤庫所提取的主題用矩陣B表示,通信庫所提取的主題用矩陣C表示,然后,分別計算矩陣B、矩陣C中和向量MR中相似的元素,識別出與向量MR中維護請求元素相對應的故障跟蹤庫中的故障元素Bug以及通信庫中的通信元素Comm;
步驟3:利用LDA主題模型從當前軟件版本中提取潛在主題,所提取的主題用向量Cu表示;
步驟4:利用LDA主題模型對軟件版本控制庫進行分析,提取潛在主題,所提取的主題用矩陣U表示;然后,計算矩陣U中和所述向量Cu相似的軟件版本元素V2;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于揚州大學,未經揚州大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410029273.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于識別論壇用戶馬甲賬號的方法和系統
- 下一篇:三維文件處理方法和裝置





