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