欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于相關(guān)主題模型的程序理解和特征定位方法

文檔序號(hào):8257991閱讀:193來(lái)源:國(guó)知局
一種基于相關(guān)主題模型的程序理解和特征定位方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種軟件開發(fā)維護(hù)方法,特別涉及一種程序理解及特征定位方法。
【背景技術(shù)】
[0002] 軟件產(chǎn)品一般在滿足用戶不斷更改的需求中需要不斷地升級(jí)和維護(hù)。為了實(shí)現(xiàn)某 個(gè)維護(hù)請(qǐng)求,開發(fā)人員首先需要理解整個(gè)軟件系統(tǒng),特別是對(duì)程序的理解。程序理解是軟件 維護(hù)過程中最頻繁的工作。通常情況下,在軟件維護(hù)過程中程序理解要占到60%以上的時(shí) 間。隨著軟件系統(tǒng)的不斷發(fā)展,整個(gè)系統(tǒng)的規(guī)模越來(lái)越大,復(fù)雜度也越來(lái)越高。為了輔助這 項(xiàng)工作,一些程序理解技術(shù)采用圖或者樹的結(jié)構(gòu)來(lái)輔助開發(fā)人員理解軟件系統(tǒng)的結(jié)構(gòu)。這 些方法主要的依據(jù)是程序元素之間的靜態(tài)結(jié)構(gòu)依賴關(guān)系。由于程序理解的目標(biāo)是理解系統(tǒng) 的一些功能點(diǎn)和不同的源代碼是如何對(duì)應(yīng)那些相關(guān)的功能特征的。因此,這些程序理解技 術(shù)會(huì)忽視系統(tǒng)的功能特征。此前幾乎沒有技術(shù)可以快速直觀的提供系統(tǒng)的特征和各個(gè)文件 之間的聯(lián)系的。然而特征及其聯(lián)系可以有效的幫助開發(fā)人員得到一個(gè)軟件系統(tǒng)總體功能方 面的特征信息。為軟件系統(tǒng)建立一個(gè)基于特征的網(wǎng)絡(luò)結(jié)構(gòu)可以幫助開發(fā)人員更加簡(jiǎn)單和快 速的理解軟件系統(tǒng)。
[0003] 特征定位是軟件維護(hù)和演化過程中由程序員進(jìn)行的最重要和最常見的活動(dòng)之一。 任何一個(gè)維護(hù)活動(dòng)都需要在首先定位與手頭任務(wù)有關(guān)的代碼的情況下完成。特征定位對(duì)于 軟件維護(hù)來(lái)說至關(guān)重要,因?yàn)樗窃谠隽孔兓谋尘跋卤粓?zhí)行的。在軟件系統(tǒng)中,一個(gè)特征 代表一種功能,這種功能是按照開發(fā)者和使用者的要求和被接受程度來(lái)定義的。軟件維護(hù) 與演化涉及增加新的功能,改進(jìn)現(xiàn)有的功能,和修復(fù)漏洞,類似于去除一些不想要的功能。 確定一個(gè)已知的特殊功能在源代碼中的位置叫做特征定位。隨著整個(gè)軟件代碼的不斷增加 與變化,特征定位已成為開發(fā)人員所進(jìn)行的一種最常見的維護(hù)活動(dòng)。而此前的技術(shù)大部分 只關(guān)注如何進(jìn)行特征定位,很少有為需要特征定位的人員提供一個(gè)全面準(zhǔn)確而又易于理解 的結(jié)果。給定一個(gè)特征,正確并且全面的的定位到相關(guān)的代碼,并為定位到的代碼提供一個(gè) 簡(jiǎn)要的說明,更加有益于程序開發(fā)人員實(shí)現(xiàn)特征定位。
[0004] 相關(guān)主題模型是一個(gè)在文檔的內(nèi)容屬性和網(wǎng)絡(luò)結(jié)構(gòu)上的層次概率分布模型。模型 第一步將語(yǔ)料庫(kù)中的所有文檔作為主題一個(gè)概率混合模型,其次將文檔之間的聯(lián)系建立為 一個(gè)二元變量。主要用來(lái)分析非結(jié)構(gòu)化語(yǔ)料庫(kù),相關(guān)主題模型為理解和分析語(yǔ)料庫(kù)文檔之 間的網(wǎng)絡(luò)關(guān)聯(lián)建立一個(gè)易于理解的模型。我們利用相關(guān)主題模型為經(jīng)過預(yù)處理的軟件系統(tǒng) 進(jìn)行建模,為軟件系統(tǒng)建立的程序特征網(wǎng)絡(luò),程序特征網(wǎng)絡(luò)以網(wǎng)絡(luò)的形式將系統(tǒng)所有文檔 即類文件及其之間的聯(lián)系展示出來(lái),結(jié)點(diǎn)為每個(gè)類文件的內(nèi)容特征,邊則表示兩個(gè)文檔之 間是否有聯(lián)系。軟件系統(tǒng)的特征以網(wǎng)絡(luò)的形式展示出來(lái),便于開發(fā)人員理解快速準(zhǔn)確形象 的理解軟件系統(tǒng)。在特征定位時(shí),將特征擴(kuò)展為特征集作為程序特征網(wǎng)絡(luò)的一個(gè)結(jié)點(diǎn),可以 有效的預(yù)測(cè)其相關(guān)聯(lián)的類文件結(jié)點(diǎn),再對(duì)這些節(jié)點(diǎn)進(jìn)行排序并提取摘要給予簡(jiǎn)單的描述, 更加有益于程序開發(fā)人員快速方便的實(shí)現(xiàn)特征定位。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明的目的是提供一種基于相關(guān)主題模型的程序理解和特征定位方法,使得開 發(fā)人員可對(duì)整個(gè)系統(tǒng)有一個(gè)更加簡(jiǎn)單和快速的理解以及在定位軟件特征時(shí)候?yàn)殚_發(fā)人員 更加精準(zhǔn)的結(jié)果。
[0006] 本發(fā)明的目的是這樣實(shí)現(xiàn)的:一種基于相關(guān)主題模型的程序理解和特征定位方 法,包括以下步驟: 步驟1)導(dǎo)入需要理解的軟件系統(tǒng)的源代碼,提取每個(gè)類文件的用戶自定義標(biāo)識(shí)符以及 注釋作為研宄對(duì)象,并對(duì)其進(jìn)行預(yù)處理; 步驟2)利用相關(guān)主題模型為經(jīng)過預(yù)處理的類文件進(jìn)行建模,生成具有多個(gè)結(jié)點(diǎn)的關(guān)于 類文件的程序特征網(wǎng)絡(luò),結(jié)點(diǎn)之間建立邊的關(guān)系,輸出該程序特征網(wǎng)絡(luò)供程序理解; 步驟3)輸入特征并將特征擴(kuò)展為特征集,將擴(kuò)展的特征集作為上述程序特征網(wǎng)絡(luò)中的 一個(gè)新結(jié)點(diǎn),利用相關(guān)主題模型預(yù)測(cè)上述程序特征網(wǎng)絡(luò)中與該新結(jié)點(diǎn)有邊的結(jié)點(diǎn); 步驟4)將所預(yù)測(cè)的結(jié)點(diǎn)進(jìn)行排序,出現(xiàn)特征詞語(yǔ)次數(shù)多的類文件則排在前面; 步驟5)為排序后的結(jié)點(diǎn)生成內(nèi)容摘要和排序摘要以供使用者參考; 步驟6)輸出排序后的結(jié)點(diǎn)對(duì)應(yīng)的類文件及其摘要。
[0007] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于,使用本發(fā)明為軟件系統(tǒng)的類文件建立 一個(gè)程序特征網(wǎng)絡(luò),利用程序特征網(wǎng)絡(luò)預(yù)測(cè)特征的相關(guān)類文件并提供摘要,為開發(fā)人員理 解軟件系統(tǒng)以及準(zhǔn)確定位特征提供了方便;主要有如下一些優(yōu)點(diǎn): 1) 本發(fā)明提出利用相關(guān)主題模型為整個(gè)軟件系統(tǒng)建立一個(gè)程序特征網(wǎng)絡(luò),從理解代碼 的角度講,有助于軟件開發(fā)人員對(duì)程序的直接理解和分析,找到他們感興趣的功能代碼; 2) 該發(fā)明對(duì)特征定位中的需求特征進(jìn)行擴(kuò)展,增加了定位的結(jié)果范圍從而使得結(jié)果更 加全面; 3) 該發(fā)明對(duì)定位的結(jié)果進(jìn)行一個(gè)篩選和排序,在結(jié)果全面的基礎(chǔ)之上做到了精益求 精,為開發(fā)人員提供一個(gè)全面而又精簡(jiǎn)的特征定位結(jié)果; 4) 本發(fā)明利用對(duì)最后的特征定位結(jié)果進(jìn)行概要化,為開發(fā)人員最后選取特征定位的結(jié) 果作為參考內(nèi)容,更快地定位到需要的特征相關(guān)的代碼文件;本發(fā)明可用于軟件開發(fā)維護(hù) 中。
[0008] 為了使得程序的理解更加準(zhǔn)確,步驟1)的預(yù)處理過程包括以下步驟: a) 刪除語(yǔ)義上和編程語(yǔ)言相關(guān)的關(guān)鍵字; b) 對(duì)一些按照駝峰規(guī)則和有下劃短線相連的組合詞進(jìn)行分詞; c) 去除英語(yǔ)停用詞; d) 將詞語(yǔ)的不同形式進(jìn)行歸一化; 作為本發(fā)明的進(jìn)一步限定,步驟2)在建模時(shí),程序特征網(wǎng)絡(luò)中的結(jié)點(diǎn)為經(jīng)過預(yù)處理的 類文件,通過確定結(jié)點(diǎn)之間是否共有相同的主題或者是否具有調(diào)用關(guān)系來(lái)確定結(jié)點(diǎn)之間邊 的關(guān)系。通過該方法確定結(jié)點(diǎn)與結(jié)點(diǎn)之間的關(guān)系,提高了程序理解的準(zhǔn)確性。
[0009] 為了使得程序的理解更加快捷和準(zhǔn)確,步驟3)的具體方
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
亚东县| 白玉县| 顺义区| 财经| 商南县| 荥经县| 维西| 汝南县| 静安区| 宁强县| 满洲里市| 叙永县| 聂拉木县| 乌鲁木齐县| 潞城市| 清丰县| 南阳市| 新乐市| 芒康县| 新丰县| 康平县| 婺源县| 城步| 永州市| 农安县| 什邡市| 苗栗市| 嘉定区| 泸州市| 甘孜| 凌海市| 论坛| 资兴市| 云阳县| 延长县| 温州市| 石景山区| 西丰县| 江安县| 双鸭山市| 棋牌|