[發(fā)明專利]一種基于編程上下文信息的代碼重構(gòu)方法在審
| 申請?zhí)枺?/td> | 202110408445.3 | 申請日: | 2021-04-16 |
| 公開(公告)號: | CN113190269A | 公開(公告)日: | 2021-07-30 |
| 發(fā)明(設(shè)計(jì))人: | 張靜宣;駱君鵬;梁嘉慧;劉思遠(yuǎn) | 申請(專利權(quán))人: | 南京航空航天大學(xué) |
| 主分類號: | G06F8/72 | 分類號: | G06F8/72;G06F16/335;G06F16/35;G06N3/04 |
| 代理公司: | 南京經(jīng)緯專利商標(biāo)代理有限公司 32200 | 代理人: | 施昊 |
| 地址: | 211106 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 編程 上下文 信息 代碼 方法 | ||
1.一種基于編程上下文信息的代碼重構(gòu)方法,其特征在于,根據(jù)編程項(xiàng)目的上下文信息,對編程項(xiàng)目的需求文檔、設(shè)計(jì)文檔、缺陷報(bào)告和代碼結(jié)構(gòu)進(jìn)行分析,包括步驟如下:
(1)將代碼上下文、注釋、需求文檔和設(shè)計(jì)文檔進(jìn)行切分序列化,形成文本向量;
(2)通過機(jī)器學(xué)習(xí)方法,將文本向量轉(zhuǎn)換為數(shù)值向量,并進(jìn)行數(shù)值向量的嵌入,形成向量空間;
(3)對于形成的多個(gè)向量空間,選用聚類方法將向量空間進(jìn)行聚類,將最后形成的相同編程上下文模型歸類到一起;
(4)對于給定的標(biāo)識符通過編程上下文模型,形成重構(gòu)備選排序列表,推薦給開發(fā)者。
2.根據(jù)權(quán)利要求1所述的基于編程上下文信息的代碼重構(gòu)方法,其特征在于,所述步驟(1)中,在進(jìn)行切分序列化之前,首先將代碼上下文轉(zhuǎn)化為抽象語法樹;所述代碼上下文、注釋、需求文檔和設(shè)計(jì)文檔均要先被標(biāo)記為文本向量;所有的代碼上下文都通過抽象語法樹來解析,并通過深度優(yōu)先搜索算法來遍歷生成的抽象語法樹,以獲得兩種標(biāo)記:一種是節(jié)點(diǎn)類型,另一種是該節(jié)點(diǎn)的標(biāo)識符。
3.根據(jù)權(quán)利要求1所述的基于編程上下文信息的代碼重構(gòu)方法,其特征在于,所述步驟(2)中,將切分序列化中生成的文本向量轉(zhuǎn)化為數(shù)值向量,并進(jìn)行向量嵌入,形成向量空間,包括步驟如下:
步驟21,描述性文本嵌入
通過步驟(1)的文本向量模式,提供文本標(biāo)記序列:
NVname←EPV(TN)
其中,EPV是段落向量嵌入函數(shù),將序列標(biāo)記的訓(xùn)練集TN作為輸入;輸出是名稱映射函數(shù)NVname:TN→VN,其中VN是嵌入的向量空間;
步驟22,代碼上下文嵌入
選用兩層神經(jīng)網(wǎng)絡(luò),模型構(gòu)建如下:
TVB←EW(TB)
其中,EW是以標(biāo)記序列TB的訓(xùn)練集為輸入的標(biāo)記嵌入函數(shù);輸出是一個(gè)標(biāo)記映射函數(shù)TVB:TWB→VBW,其中TWB是標(biāo)記的詞匯表,VBW是在TWB中嵌入記號的向量空間;
在序列嵌入之后,代碼上下文最終被表示為二維向量;設(shè)定給定的代碼上下文b由Tb=(t1,t2,t3...,tk)標(biāo)記序列表示,其中ti∈TWB,i=1,2,3,....,k;Vb是對應(yīng)于Tb的二維數(shù)值向量,則Vb推斷如下:
Vb←∫(Tb,TVB)
其中,∫是基于標(biāo)記映射函數(shù)TVB將代碼上下文的標(biāo)記序列轉(zhuǎn)化為二維向量的函數(shù),因此Vb=(v1,v2,v3...vk)∈VB;其中vi←TVB(ti),VB是一組二維向量;
步驟23,生成向量空間
對于代碼上下文,輸入是步驟(22)中生成的二維向量,輸出是對應(yīng)一個(gè)整體的向量空間,則映射函數(shù)通過以下公式獲得:
VVbody←EBV(VB)
其中,EBV是一個(gè)嵌入函數(shù),將代碼上下文VB的二維向量作為訓(xùn)練數(shù)據(jù),并產(chǎn)生一個(gè)映射函數(shù)VVbody,其定義如下:
VVbody:VB→VB′
其中,VB′是代碼上下文的嵌入向量空間。
該專利技術(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/202110408445.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 自動(dòng)創(chuàng)建上下文信息提供配置的系統(tǒng)
- 用于管理上下文的方法、系統(tǒng)和裝置
- 一種基于本體的上下文感知應(yīng)用平臺框架模型
- 一種基于上下文感知的智能家居系統(tǒng)
- 實(shí)現(xiàn)上下文感知業(yè)務(wù)應(yīng)用的方法和相關(guān)裝置
- 一種多推理引擎融合上下文感知系統(tǒng)及其工作方法
- 多個(gè)并發(fā)上下文虛擬演進(jìn)型會(huì)話管理(虛擬ESM)
- 一種基于異質(zhì)上下文感知的推薦方法
- 一種可提高上下文質(zhì)量的本體建模方法及裝置
- 微服務(wù)全局上下文控制方法及系統(tǒng)
- 信息記錄介質(zhì)、信息記錄方法、信息記錄設(shè)備、信息再現(xiàn)方法和信息再現(xiàn)設(shè)備
- 信息記錄裝置、信息記錄方法、信息記錄介質(zhì)、信息復(fù)制裝置和信息復(fù)制方法
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄設(shè)備、信息重放設(shè)備、信息記錄方法、信息重放方法、以及信息記錄介質(zhì)
- 信息存儲介質(zhì)、信息記錄方法、信息重放方法、信息記錄設(shè)備、以及信息重放設(shè)備
- 信息存儲介質(zhì)、信息記錄方法、信息回放方法、信息記錄設(shè)備和信息回放設(shè)備
- 信息記錄介質(zhì)、信息記錄方法、信息記錄裝置、信息再現(xiàn)方法和信息再現(xiàn)裝置
- 信息終端,信息終端的信息呈現(xiàn)方法和信息呈現(xiàn)程序
- 信息創(chuàng)建、信息發(fā)送方法及信息創(chuàng)建、信息發(fā)送裝置





