基于概率圖模型的代碼庫數(shù)據(jù)挖掘.pdf_第1頁
已閱讀1頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、源代碼閱讀是一項(xiàng)十分困難的工作,特別是對于那些有成百上千個(gè)文件的源代碼工程而言,比如Linux和Gcc這樣的開源代碼庫,我們很難能夠在短時(shí)間內(nèi)清楚一個(gè)源文件是在做什么。所以對源代碼文件進(jìn)行分析的自動化工具變得十分重要,例如一些可以自動分析軟件結(jié)構(gòu)、功能、調(diào)用關(guān)系、開發(fā)過程甚至是開發(fā)人員與代碼之間的一些聯(lián)系等等。
  一些傳統(tǒng)的主題模型比如LDA模型可以利用概率關(guān)系從文本中挖掘其中包含的多種主題。但是源代碼數(shù)據(jù)與普通文本有著顯著的區(qū)

2、別,它們的各部分結(jié)構(gòu)不是“平等”的。一個(gè)代碼文件中包含的數(shù)據(jù)有接近普通文本的注釋,也有受到程序語言約束的代碼。另外,非監(jiān)督型主題模型只能夠給出主題的詞分布,而無法得到確切的分類名。而且目前并沒有一個(gè)針對代碼分類的標(biāo)準(zhǔn)分類系統(tǒng)。
  在這篇文章中,我們提出了一個(gè)新的針對源代碼庫設(shè)計(jì)的概率圖模型,用來對源代碼庫進(jìn)行主題挖掘。這個(gè)模型不是將代碼文件當(dāng)成普通文本處理,而是將不同的部分,包括代碼、注釋、以及提交記錄信息,進(jìn)行不同的處理并通過

3、主題將他們結(jié)合起來。因此,這個(gè)模型在模擬源代碼庫的生成過程中,相比于其它的傳統(tǒng)主題挖掘方法更加貼近源代碼庫的真實(shí)生成過程。這使得我們得到的主題分布將更加可靠。
  但是,如果只有這個(gè)概率圖模型,我們?nèi)匀徊荒艿玫揭粋€(gè)源代碼文件的確切分類。所以我們選擇建立一個(gè)針對與源代碼庫的分類系統(tǒng)。在本文中,我們選擇了對來自于著名的程序問答網(wǎng)站Stack overflow的數(shù)據(jù)進(jìn)行處理,建立了一個(gè)多分枝的層次化分類系統(tǒng)。同時(shí),我們采用了不同的映射方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論