基于概率圖模型的代碼庫數(shù)據(jù)挖掘
本文關(guān)鍵詞:基于概率圖模型的代碼庫數(shù)據(jù)挖掘,由筆耕文化傳播整理發(fā)布。
【摘要】:源代碼閱讀是一項十分困難的工作,特別是對于那些有成百上千個文件的源代碼工程而言,比如Linux和Gcc這樣的開源代碼庫,我們很難能夠在短時間內(nèi)清楚一個源文件是在做什么。所以對源代碼文件進(jìn)行分析的自動化工具變得十分重要,例如一些可以自動分析軟件結(jié)構(gòu)、功能、調(diào)用關(guān)系、開發(fā)過程甚至是開發(fā)人員與代碼之間的一些聯(lián)系等等。一些傳統(tǒng)的主題模型比如LDA模型可以利用概率關(guān)系從文本中挖掘其中包含的多種主題。但是源代碼數(shù)據(jù)與普通文本有著顯著的區(qū)別,它們的各部分結(jié)構(gòu)不是“平等”的。一個代碼文件中包含的數(shù)據(jù)有接近普通文本的注釋,也有受到程序語言約束的代碼。另外,非監(jiān)督型主題模型只能夠給出主題的詞分布,而無法得到確切的分類名。而且目前并沒有一個針對代碼分類的標(biāo)準(zhǔn)分類系統(tǒng)。在這篇文章中,我們提出了一個新的針對源代碼庫設(shè)計的概率圖模型,用來對源代碼庫進(jìn)行主題挖掘。這個模型不是將代碼文件當(dāng)成普通文本處理,而是將不同的部分,包括代碼、注釋、以及提交記錄信息,進(jìn)行不同的處理并通過主題將他們結(jié)合起來。因此,這個模型在模擬源代碼庫的生成過程中,相比于其它的傳統(tǒng)主題挖掘方法更加貼近源代碼庫的真實生成過程。這使得我們得到的主題分布將更加可靠。但是,如果只有這個概率圖模型,我們?nèi)匀徊荒艿玫揭粋€源代碼文件的確切分類。所以我們選擇建立一個針對與源代碼庫的分類系統(tǒng)。在本文中,我們選擇了對來自于著名的程序問答網(wǎng)站Stack over?ow的數(shù)據(jù)進(jìn)行處理,建立了一個多分枝的層次化分類系統(tǒng)。同時,我們采用了不同的映射方法將源代碼文件最終映射到相應(yīng)的分類系統(tǒng)中。
【關(guān)鍵詞】:代碼主題數(shù)據(jù)挖掘 EM推導(dǎo) 分類系統(tǒng)構(gòu)建
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2015
【分類號】:TP311.13
【目錄】:
- 摘要3-4
- ABSTRACT4-9
- 主要符號對照表9-10
- 第一章 緒論10-16
- 1.1 研究背景及意義10-13
- 1.2 研究內(nèi)容13
- 1.3 主要挑戰(zhàn)13-14
- 1.4 本章小結(jié)14-16
- 第二章 相關(guān)研究及技術(shù)介紹16-22
- 2.1 主題模型16-19
- 2.2 源代碼庫數(shù)據(jù)挖掘19-20
- 2.3 分類系統(tǒng)20-21
- 2.4 本章小結(jié)21-22
- 第三章 針對源代碼庫的概率圖模型22-32
- 3.1 預(yù)備知識22-23
- 3.1.1 源代碼文本庫22-23
- 3.2 問題定義23-25
- 3.3 概率圖模型25-28
- 3.3.1 動機(jī)25
- 3.3.2 概率圖模型25-28
- 3.4 圖模型推導(dǎo)與求解28-31
- 3.4.1 EM算法28-29
- 3.4.2 源代碼數(shù)據(jù)的極大似然29-31
- 3.5 本章總結(jié)31-32
- 第四章 源代碼庫分類系統(tǒng)32-40
- 4.1 動機(jī)32
- 4.2 分類系統(tǒng)類型32-34
- 4.3 分類構(gòu)建方法34-39
- 4.3.1 多分枝層次聚類算法HAC34-37
- 4.3.2 分類特征向量37
- 4.3.3 從主題分布到分類系統(tǒng)映射37-39
- 4.4 本章總結(jié)39-40
- 第五章 實驗與評估40-46
- 5.1 數(shù)據(jù)準(zhǔn)備40-42
- 5.2 代碼主題學(xué)習(xí)42-45
- 5.3 本章總結(jié)45-46
- 全文總結(jié)46-48
- 附錄A EM算法推導(dǎo)48-52
- A.1 EM算法推導(dǎo)48-52
- 參考文獻(xiàn)52-54
- 致謝54-56
- 攻讀學(xué)位期間發(fā)表的學(xué)術(shù)論文目錄56-58
【相似文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前7條
1 陳宇;徐開勇;李立新;王惠芳;;兩種重用本地代碼庫的方法比較[J];計算機(jī)工程;2006年09期
2 劉華軍;;深入解析P/Invoke[J];程序員;2006年06期
3 Michael Shoffner ,毛嘉青;龍爭虎斗——JavaBeans與ActiveX策略分析[J];微電腦世界;1997年04期
4 古俐明;錄取新生信息管理系統(tǒng)的設(shè)計與實現(xiàn)[J];廣東民族學(xué)院學(xué)報(自然科學(xué)版);1996年04期
5 李繼華;走進(jìn)VB6 更上一層樓(五)[J];電腦愛好者;1999年08期
6 賈志斌;“死庫復(fù)活”的算法研究[J];西北師范大學(xué)學(xué)報(自然科學(xué)版);1998年01期
7 ;[J];;年期
中國重要報紙全文數(shù)據(jù)庫 前3條
1 金華;利用源代碼庫提高開發(fā)效率[N];中國計算機(jī)報;2003年
2 祁金華;Linux服務(wù)是否可替代?[N];網(wǎng)絡(luò)世界;2006年
3 ;專家熱議:Hypervisor的未來將會如何?[N];網(wǎng)絡(luò)世界;2012年
中國碩士學(xué)位論文全文數(shù)據(jù)庫 前1條
1 姜凱;基于概率圖模型的代碼庫數(shù)據(jù)挖掘[D];上海交通大學(xué);2015年
本文關(guān)鍵詞:基于概率圖模型的代碼庫數(shù)據(jù)挖掘,由筆耕文化傳播整理發(fā)布。
,本文編號:256805
本文鏈接:http://sikaile.net/shoufeilunwen/xixikjs/256805.html