[發(fā)明專利]一種基于混合相似度的大眾貢獻(xiàn)合并請(qǐng)求重復(fù)性檢測(cè)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201810100193.6 | 申請(qǐng)日: | 2018-02-01 |
| 公開(公告)號(hào): | CN108182181B | 公開(公告)日: | 2021-03-26 |
| 發(fā)明(設(shè)計(jì))人: | 余躍;李志星;尹剛;王濤;王懷民;范強(qiáng);於杰;張迅暉;胡東陽(yáng) | 申請(qǐng)(專利權(quán))人: | 中國(guó)人民解放軍國(guó)防科技大學(xué) |
| 主分類號(hào): | G06F40/30 | 分類號(hào): | G06F40/30;G06F40/289;G06F40/194 |
| 代理公司: | 長(zhǎng)沙國(guó)科天河知識(shí)產(chǎn)權(quán)代理有限公司 43225 | 代理人: | 董惠文 |
| 地址: | 410073 湖*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 混合 相似 大眾 貢獻(xiàn) 合并 請(qǐng)求 重復(fù)性 檢測(cè) 方法 | ||
本發(fā)明屬于軟件協(xié)同開發(fā)領(lǐng)域,公開了一種基于混合相似度的大眾貢獻(xiàn)合并請(qǐng)求重復(fù)性檢測(cè)方法。該方法包括:對(duì)于新提交的大眾貢獻(xiàn)合并請(qǐng)求,首先計(jì)算它與歷史大眾貢獻(xiàn)合并請(qǐng)求間的文本相似度;然后計(jì)算它與歷史大眾貢獻(xiàn)的變更相似度;進(jìn)一步在大眾化協(xié)同開發(fā)平臺(tái)上搜集一組歷史重復(fù)貢獻(xiàn)數(shù)據(jù)集,在此數(shù)據(jù)集的訓(xùn)練下,利用基于貪心搜索策略的權(quán)重計(jì)算方法把兩種相似度結(jié)合起來(lái)計(jì)算大眾貢獻(xiàn)間的混合相似度;最后按照混合相似度值的大小得出一組與給定大眾貢獻(xiàn)合并請(qǐng)求最有可能是重復(fù)的歷史大眾貢獻(xiàn)合并請(qǐng)求列表。本發(fā)明能夠及時(shí)探測(cè)大眾貢獻(xiàn)的重復(fù)性,避免產(chǎn)生重復(fù)的人工代碼審查工作,提高大眾貢獻(xiàn)審查的效率。
技術(shù)領(lǐng)域
本發(fā)明屬于軟件協(xié)同開發(fā)領(lǐng)域,涉及一種基于混合相似度的大眾貢獻(xiàn)合并請(qǐng)求重復(fù)性檢測(cè)方法。
背景技術(shù)
在開源社區(qū)(如GitHub),基于大規(guī)模群體協(xié)同的軟件開發(fā)模式大大提高了軟件創(chuàng)新效率,激發(fā)了越來(lái)越多的開發(fā)者投身到開源軟件的創(chuàng)作過(guò)程中。然而,這種開發(fā)模式是一種并行且無(wú)統(tǒng)一協(xié)調(diào)的過(guò)程,當(dāng)多個(gè)開發(fā)者自發(fā)地對(duì)同一個(gè)開源軟件項(xiàng)目貢獻(xiàn)代碼時(shí),如果他們想要實(shí)現(xiàn)同樣的目的,就有可能會(huì)提交重復(fù)的貢獻(xiàn)合并請(qǐng)求(即Pull-request),尤其是那些吸引了大量外圍開發(fā)者,源源不斷地接受到社區(qū)貢獻(xiàn)的流行項(xiàng)目更容易出現(xiàn)這種問(wèn)題。如圖2所示,兩個(gè)開發(fā)者Bob和Alice都克隆(fork)了同一個(gè)主版本庫(kù),然后兩個(gè)開發(fā)者單獨(dú)地在各自的本地克隆庫(kù)上做修改。當(dāng)他們都想實(shí)現(xiàn)同一個(gè)功能或者修復(fù)同一個(gè)代碼缺陷時(shí),由于他們都不知曉對(duì)方正在做的工作,兩人可能都會(huì)做相應(yīng)的修改然后提交合并請(qǐng)求到主版本庫(kù)中,提交的兩個(gè)合并請(qǐng)求都會(huì)各自經(jīng)歷貢獻(xiàn)審查和更新操作,直到有某位開發(fā)者意識(shí)到這兩個(gè)重復(fù)大眾貢獻(xiàn)合并請(qǐng)求的存在。
重復(fù)大眾貢獻(xiàn)合并請(qǐng)求造成了對(duì)平臺(tái)資源的浪費(fèi),增加了平臺(tái)的維護(hù)成本。同時(shí)也會(huì)導(dǎo)致對(duì)重復(fù)大眾貢獻(xiàn)合并請(qǐng)求執(zhí)行重復(fù)的貢獻(xiàn)審閱流程,這會(huì)耗費(fèi)審查者額外的時(shí)間和精力。在一個(gè)大眾貢獻(xiàn)合并請(qǐng)求的生命周期內(nèi)(從它被提交到平臺(tái)到它被接受或拒絕這段時(shí)間),重復(fù)的大眾貢獻(xiàn)合并請(qǐng)求可能在任何時(shí)間點(diǎn)被識(shí)別出來(lái),而越晚被識(shí)別,它所造成的資源和精力浪費(fèi)問(wèn)題越嚴(yán)重。此外,在一個(gè)大眾貢獻(xiàn)合并請(qǐng)求的審查過(guò)程中,貢獻(xiàn)者還經(jīng)常會(huì)根據(jù)審查者的反饋對(duì)其進(jìn)行更新完善,因此,如果不能盡早識(shí)別重復(fù)的大眾貢獻(xiàn)合并請(qǐng)求,兩個(gè)貢獻(xiàn)者也可能會(huì)做重復(fù)冗余的工作,進(jìn)而對(duì)項(xiàng)目的管理團(tuán)隊(duì)的能力產(chǎn)生懷疑。尤其是如果他們提交的貢獻(xiàn)合并請(qǐng)求被認(rèn)為是一個(gè)晚提交的貢獻(xiàn)合并請(qǐng)求的重復(fù)并被審查者關(guān)閉了,這對(duì)貢獻(xiàn)者造成的負(fù)面影響更嚴(yán)重。
目前GitHub平臺(tái)(GitHub是一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С謌it作為唯一的版本庫(kù)格式進(jìn)行托管,故名GitHub)上識(shí)別重復(fù)貢獻(xiàn)合并請(qǐng)求的機(jī)制是依賴審查者人工地去發(fā)現(xiàn)。然而,對(duì)于那些流行的項(xiàng)目來(lái)說(shuō),大眾開發(fā)者源源不斷地往主版本庫(kù)中提交代碼貢獻(xiàn),大量的貢獻(xiàn)合并請(qǐng)求需要代碼審查。讓某個(gè)審查者記住所有歷史貢獻(xiàn)合并請(qǐng)求的信息,并和新提交的貢獻(xiàn)合并請(qǐng)求進(jìn)行比對(duì),然后判斷重復(fù)性的做法是不現(xiàn)實(shí)的。在當(dāng)前的機(jī)制下,只有當(dāng)某個(gè)開發(fā)者碰巧意識(shí)到兩個(gè)重復(fù)貢獻(xiàn)合并請(qǐng)求的存在,它們的重復(fù)性才被發(fā)現(xiàn),這就造成了大部分的重復(fù)貢獻(xiàn)合并請(qǐng)求并不能被及時(shí)的識(shí)別出來(lái)。在上述狀況下,一個(gè)能夠在貢獻(xiàn)合并請(qǐng)求提交階段自動(dòng)化地探測(cè)其重復(fù)性的工具是很必要的。首先,自動(dòng)探測(cè)工具能夠輔助審查者的工作,使他們避免做冗余的重復(fù)工作。其次,第一時(shí)間自動(dòng)探測(cè)出重復(fù)貢獻(xiàn)合并請(qǐng)求可以讓雙方貢獻(xiàn)者盡早地建立聯(lián)系并在一起協(xié)作,避免他們?cè)俑髯岳^續(xù)做重復(fù)的工作。
發(fā)明內(nèi)容
為解決上述技術(shù)問(wèn)題,本發(fā)明提出了一種針對(duì)開源軟件項(xiàng)目托管平臺(tái)中可能存在的重復(fù)性貢獻(xiàn)的基于混合相似度檢測(cè)方法,具體技術(shù)方案如下。
一種基于混合相似度的大眾貢獻(xiàn)合并請(qǐng)求重復(fù)性檢測(cè)方法,包括以下步驟:
S1、計(jì)算新提交的大眾貢獻(xiàn)合并請(qǐng)求與歷史大眾貢獻(xiàn)合并請(qǐng)求間的文本相似度,所述文本相似度包括標(biāo)題文本相似度和描述文本相似度;
S2、計(jì)算新提交的大眾貢獻(xiàn)合并請(qǐng)求與歷史大眾貢獻(xiàn)合并請(qǐng)求間的變更相似度,所述變更相似度指的是大眾貢獻(xiàn)合并請(qǐng)求所修改文件間的路徑相似度;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科技大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201810100193.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 相似圖像提取裝置、相似圖像提取方法以及相似圖像提取程序
- 一種鋼結(jié)構(gòu)火災(zāi)反應(yīng)分析方法
- 相似度計(jì)算裝置、相似度計(jì)算方法以及相似度計(jì)算程序
- 一種蛋白質(zhì)相似度及相似蛋白質(zhì)的確定方法和系統(tǒng)
- 一種獲取相似語(yǔ)句的方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備
- 一種圖像搜索方法、裝置和存儲(chǔ)介質(zhì)
- 基于相似壽命模型和相似壽命的復(fù)雜產(chǎn)品可靠性評(píng)定方法
- 獲取機(jī)構(gòu)技術(shù)相似性的方法及裝置
- 口罩(相似)
- 臺(tái)燈(相似)





