[發(fā)明專利]跨項目編程任務(wù)上下文預(yù)測方法在審
| 申請?zhí)枺?/td> | 202111371079.5 | 申請日: | 2021-11-18 |
| 公開(公告)號: | CN114115893A | 公開(公告)日: | 2022-03-01 |
| 發(fā)明(設(shè)計)人: | 萬志遠(yuǎn);王懿豐;楊小虎 | 申請(專利權(quán))人: | 浙江大學(xué) |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F16/215;G06F16/242;G06F16/2458 |
| 代理公司: | 杭州求是專利事務(wù)所有限公司 33200 | 代理人: | 陳升華 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 項目 編程 任務(wù) 上下文 預(yù)測 方法 | ||
1.一種跨項目編程任務(wù)上下文預(yù)測方法,其特征在于,包括以下步驟:
步驟1:收集跨項目的交互歷史,隨后進(jìn)行數(shù)據(jù)清洗,劃分出工作階段,最后將工作階段與開發(fā)數(shù)據(jù)融合,形成跨項目工作階段數(shù)據(jù)集;
步驟2:從跨項目工作階段數(shù)據(jù)集中挖掘代碼元素的結(jié)構(gòu)關(guān)系,并基于此為每個工作階段構(gòu)建代碼上下文模型,隨后對模型進(jìn)行抽象化處理,得到跨項目代碼上下文模型庫;
步驟3:從跨項目代碼上下文模型中,挖掘拓?fù)溥壿嬆J剑δJ綆彀错椖窟M(jìn)行分類,以跨項目的模式庫為輸入,通過代碼上下文模型預(yù)測算法,為目標(biāo)項目的初始編程任務(wù)預(yù)測代碼上下文。
2.根據(jù)權(quán)利1所述的跨項目編程任務(wù)上下文預(yù)測方法,其特征在于,步驟1中,數(shù)據(jù)清洗,劃分出工作階段,具體包括:
過濾重復(fù)交互歷史、無關(guān)交互事件無效數(shù)據(jù),隨后將交互歷史劃分為工作階段,并提取每個工作階段訪問到的元素,從中解析出代碼元素。
3.根據(jù)權(quán)利1所述的跨項目編程任務(wù)上下文預(yù)測方法,其特征在于,步驟1中,將工作階段與開發(fā)數(shù)據(jù)融合,具體包括:
分析工作階段時間信息,結(jié)合識別出的代碼倉庫,定位該工作階段對應(yīng)的代碼提交版本,獲取開發(fā)編程數(shù)據(jù)。
4.根據(jù)權(quán)利1所述的跨項目編程任務(wù)上下文預(yù)測方法,其特征在于,步驟2中,挖掘代碼元素的結(jié)構(gòu)關(guān)系,并基于此為每個工作階段構(gòu)建代碼上下文模型,具體包括:
結(jié)合工作階段的代碼元素以及從編程數(shù)據(jù)中挖掘出的結(jié)構(gòu)關(guān)系,為每個工作階段建立代碼上下文模型,其中以節(jié)點(diǎn)表示代碼元素,以有向邊表示元素間的結(jié)構(gòu)關(guān)系。
5.根據(jù)權(quán)利1所述的跨項目編程任務(wù)上下文預(yù)測方法,其特征在于,步驟2中,對模型進(jìn)行抽象化處理,具體包括:
以注釋形式為方法和類元素分配抽象角色,將該階段代碼上下文模型中的代碼元素節(jié)點(diǎn)替換為抽象角色節(jié)點(diǎn),以得到抽象化的模型;
當(dāng)有代碼元素未被分配到抽象角色時,該節(jié)點(diǎn)會從模型中刪除,而與其連接的節(jié)點(diǎn)間的結(jié)構(gòu)關(guān)系會被保留。
6.根據(jù)權(quán)利1所述的跨項目編程任務(wù)上下文預(yù)測方法,其特征在于,步驟3中,從抽象的代碼上下文模型中挖掘跨項目的拓?fù)溥壿嬆J剑δJ綆彀错椖窟M(jìn)行分類,具體包括:
分別以各個項目所有的抽象模型以及最小支持度為輸入,挖掘其頻繁子圖作為該項目的拓?fù)溥壿嬆J剑孕纬砂错椖刻卣鞣诸惖目珥椖康耐負(fù)溥壿嬆J綆臁?/p>
7.根據(jù)權(quán)利6所述的跨項目編程任務(wù)上下文預(yù)測方法,其特征在于,最小支持度限制了每個模式最小出現(xiàn)次數(shù)。
8.根據(jù)權(quán)利1所述的跨項目編程任務(wù)上下文預(yù)測方法,其特征在于,步驟3中,以跨項目的模式庫為輸入,通過代碼上下文模型預(yù)測算法,為目標(biāo)項目的初始編程任務(wù)預(yù)測代碼上下文,具體包括:
以跨項目拓?fù)溥壿嬆J綆臁㈩A(yù)測步長、初始訪問到的代碼元素為輸入,首先以預(yù)測步長為深度,沿著源程序中節(jié)點(diǎn)的結(jié)構(gòu)關(guān)系進(jìn)行深度優(yōu)先搜索,獲取擴(kuò)展的代碼元素集并形成擴(kuò)展圖,并為其中所有節(jié)點(diǎn)分配抽象角色;
接著選取項目特征相近的特定的模式庫,并提取擴(kuò)展圖的特定子圖,對于每個子圖,遍歷對應(yīng)模式庫中的所有拓?fù)溥壿嬆J脚c之匹配,若匹配成功,則該子圖為預(yù)測子圖;
最后將所有預(yù)測子圖歸并,形成最終的預(yù)測代碼上下文模型,并為其中的每個節(jié)點(diǎn)計算置信度confidence,對于節(jié)點(diǎn)v,其置信度confidencev=包含節(jié)點(diǎn)v的預(yù)測子圖個數(shù)/預(yù)測子圖總數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江大學(xué),未經(jīng)浙江大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111371079.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 任務(wù)協(xié)作裝置及方法
- 用于量化任務(wù)價值的任務(wù)管理方法及裝置
- 用于運(yùn)行任務(wù)的系統(tǒng)、方法和裝置
- 一種分布式任務(wù)調(diào)度系統(tǒng)及方法
- 任務(wù)信息處理方法
- 一種同步任務(wù)異步執(zhí)行的方法和調(diào)度系統(tǒng)
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備及計算機(jī)可讀介質(zhì)
- 一種自動分配和推送的任務(wù)管理平臺及方法
- 程序執(zhí)行控制的裝置及方法、終端和存儲介質(zhì)
- 基于會話的任務(wù)待辦方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì)





