基于搜索的代碼推薦技術(shù)研究.pdf_第1頁(yè)
已閱讀1頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、如何提高軟件的開發(fā)效率是軟件工程領(lǐng)域的一個(gè)核心問(wèn)題。隨著互聯(lián)網(wǎng)的發(fā)展以及開源軟件的流行,軟件及代碼的重用在提高軟件開發(fā)效率方面變得越來(lái)越重要。根據(jù)調(diào)查研究,當(dāng)今的軟件開發(fā)者們以重用為目的花費(fèi)了大量的時(shí)間在互聯(lián)網(wǎng)上搜索軟件或者代碼。因此,代碼搜索技術(shù)得到了越來(lái)越多的研究與重視。
  目前有許多關(guān)于代碼搜索的研究成果。在這些研究成果中,有一部分使用了信息檢索技術(shù),使得對(duì)大規(guī)模的軟件或代碼的搜索成為可能。雖然這些已有的研究工作采用了各種

2、方法來(lái)提高代碼搜索的準(zhǔn)確性,但是效果都十分有限。本文經(jīng)過(guò)調(diào)查研究這些已有的工作,針對(duì)他們研究中的不足,提出了一種高效的代碼搜索算法,并基于此算法實(shí)現(xiàn)了一個(gè)代碼推薦工具。同時(shí),通過(guò)與已有的研究工作進(jìn)行實(shí)驗(yàn)比較,驗(yàn)證了本文提出的算法的有效性。
  首先,針對(duì)代碼搜索準(zhǔn)確性不足的問(wèn)題,本文提出了一種基于查詢分析與擴(kuò)展布爾模型的代碼搜索方法,并從三個(gè)主要方面對(duì)該方法進(jìn)行了介紹。在代碼的表示方面,通過(guò)識(shí)別可以用來(lái)幫助搜索的代碼特征,對(duì)源代碼

3、進(jìn)行解析,提取必要的信息,并基于這些信息建立了代碼的索引。對(duì)于查詢語(yǔ)句,本文提出了一種查詢分析方法,通過(guò)分析查詢語(yǔ)句與API之間的相關(guān)性,獲得與查詢語(yǔ)句相關(guān)的若干個(gè)API,并結(jié)合這些相關(guān)的API以及查詢語(yǔ)句,構(gòu)造出布爾邏輯查詢表達(dá)式,幫助提升代碼搜索的準(zhǔn)確性。在搜索結(jié)果的排序方面,本文通過(guò)運(yùn)用擴(kuò)展布爾模型計(jì)算查詢表達(dá)式與代碼的相似度,并根據(jù)相似度評(píng)分對(duì)搜索結(jié)果進(jìn)行了排序。
  然后本文針對(duì)C#編程語(yǔ)言,實(shí)現(xiàn)了基于上述搜索算法的代碼

4、推薦工具CodeHow。對(duì)于代碼搜索結(jié)果中遇到的代碼克隆問(wèn)題,本文提出了基于SimHash算法的代碼克隆檢測(cè)方法。同時(shí),本文采用程序切片技術(shù)對(duì)搜索到的代碼進(jìn)行簡(jiǎn)化,去除了代碼中與查詢無(wú)關(guān)的部分。
  最后,通過(guò)客觀實(shí)驗(yàn)與用戶調(diào)研,本文從多個(gè)角度對(duì)基于本文搜索算法的代碼推薦工具CodeHow的有效性進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,CodeHow達(dá)到了一個(gè)較高的準(zhǔn)確性,證明了本文提出的搜索算法的有效性。同時(shí),在用戶調(diào)研中,本文通過(guò)設(shè)計(jì)三個(gè)真

溫馨提示

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

評(píng)論

0/150

提交評(píng)論