[發(fā)明專(zhuān)利]一種基于文檔的庫(kù)函數(shù)的代碼模型的自動(dòng)合成方法有效
| 申請(qǐng)?zhí)枺?/td> | 201611233727.X | 申請(qǐng)日: | 2016-12-28 |
| 公開(kāi)(公告)號(hào): | CN106843849B | 公開(kāi)(公告)日: | 2020-04-14 |
| 發(fā)明(設(shè)計(jì))人: | 翟娟;趙建華;黃建軍;馬仕青;張翔宇;譚琳;秦鋒 | 申請(qǐng)(專(zhuān)利權(quán))人: | 南京大學(xué) |
| 主分類(lèi)號(hào): | G06F8/75 | 分類(lèi)號(hào): | G06F8/75;G06F8/73;G06F11/36 |
| 代理公司: | 南京知識(shí)律師事務(wù)所 32207 | 代理人: | 張?zhí)K沛 |
| 地址: | 210093 江*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 文檔 庫(kù)函數(shù) 代碼 模型 自動(dòng) 合成 方法 | ||
1.一種基于文檔的庫(kù)函數(shù)的代碼模型的自動(dòng)合成方法,其特征在于,包含步驟如下:
步驟一、獲取文檔中的有用信息;
步驟二、為自然語(yǔ)言句子生成語(yǔ)法樹(shù);
步驟三、變換語(yǔ)法樹(shù)生成多個(gè)語(yǔ)法樹(shù)的變體,每個(gè)變體表示不同的語(yǔ)義;
步驟四、在語(yǔ)法樹(shù)中識(shí)別出參數(shù)、程序結(jié)構(gòu)以及操作語(yǔ)義,生成候選的代碼模型;
步驟五、檢驗(yàn)候選模型,刪除與原始的類(lèi)庫(kù)具有不一致行為的候選模型;
所述步驟四中:
步驟4.1將語(yǔ)法樹(shù)中的樹(shù)節(jié)點(diǎn)和組成程序語(yǔ)句的變量、程序結(jié)構(gòu)以及操作語(yǔ)義進(jìn)行關(guān)聯(lián);
步驟4.2對(duì)關(guān)聯(lián)后的語(yǔ)法樹(shù)進(jìn)行分析,將語(yǔ)法樹(shù)翻譯成代碼片段;
步驟4.3將一個(gè)函數(shù)的文檔中所有句子對(duì)應(yīng)的代碼片段進(jìn)行組合生成函數(shù)的代碼模型;
步驟4.4將一個(gè)類(lèi)中所有函數(shù)的代碼模型組合生成類(lèi)的代碼模型。
2.根據(jù)權(quán)利要求1所述的自動(dòng)合成方法,其特征在于:所依據(jù)的文檔信息包括包名、類(lèi)名、函數(shù)聲明、函數(shù)的行為描述、函數(shù)的返回值描述、函數(shù)拋出的異常信息。
3.根據(jù)權(quán)利要求1所述的自動(dòng)合成方法,其特征在于:去除文檔中包含的冗余信息,并嘗試將不完整的信息補(bǔ)充完整。
4.根據(jù)權(quán)利要求1所述的自動(dòng)合成方法,其特征在于:將語(yǔ)法樹(shù)中的部分樹(shù)節(jié)點(diǎn)進(jìn)行上移或者下推來(lái)生成語(yǔ)法樹(shù)的不同變體,每一個(gè)變體表示了一種可能的語(yǔ)義信息;通過(guò)這種方式來(lái)解決自然語(yǔ)言固有的模糊性。
5.根據(jù)權(quán)利要求1所述的自動(dòng)合成方法,其特征在于,其中步驟五中:
步驟5.1對(duì)于任意的候選類(lèi)模型,首先對(duì)其進(jìn)行編譯并使用Randoop工具為其自動(dòng)生成單元測(cè)試用例,這些測(cè)試用例體現(xiàn)了候選類(lèi)模型的行為;
步驟5.2使用Junit在原始的JDK類(lèi)庫(kù)上運(yùn)行步驟5.1中生成的測(cè)試用例;如果有一個(gè)測(cè)試用例失敗,這就意味著候選的類(lèi)模型和原始的類(lèi)庫(kù)存在行為不一致,那么就將該候選類(lèi)模型舍棄;如果某個(gè)候選的類(lèi)模型的測(cè)試用例全部通過(guò),那么則認(rèn)為該候選是所期望的類(lèi)庫(kù)的代碼模型。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611233727.X/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:一種多功能鹽療口罩
- 下一篇:萬(wàn)家福娃(膀胱太陽(yáng))
- 一種電子文檔識(shí)別方法及裝置
- 文檔匹配方法和文檔匹配裝置
- 復(fù)雜文檔分離組織方法以及復(fù)雜文檔自動(dòng)生成方法
- 一種文檔流程控制方法及裝置
- 云文檔加密及解密方法、加密及解密裝置、以及處理系統(tǒng)
- 一種將Markdown文檔轉(zhuǎn)換為PDF文檔的方法、裝置
- 文檔類(lèi)型識(shí)別方法、裝置、設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 基于文檔編輯軟件的文檔處理方法、裝置、設(shè)備及介質(zhì)
- 一種引用文檔的更新方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 文檔操作錄制方法、文檔操作動(dòng)畫(huà)生成方法、裝置及設(shè)備
- PE文件的處理方法和裝置
- 一種使用收縮執(zhí)行依賴(lài)圖識(shí)別庫(kù)函數(shù)的方法
- 調(diào)試靜態(tài)庫(kù)函數(shù)的方法及系統(tǒng)
- 信息處理裝置以及信息處理方法
- 檢測(cè)安卓系統(tǒng)敏感信息泄露的方法和裝置
- 基于BWDSP庫(kù)函數(shù)的軟件測(cè)試方法
- 嵌入式軟件中庫(kù)函數(shù)獨(dú)立分區(qū)的實(shí)現(xiàn)方法和系統(tǒng)以及設(shè)備
- 一種動(dòng)態(tài)鏈接庫(kù)函數(shù)的跟蹤方法及裝置
- 軟件測(cè)試方法、裝置、計(jì)算機(jī)可讀介質(zhì)及電子設(shè)備
- 一種函數(shù)的分析方法、裝置及電子設(shè)備
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)





