[發明專利]基于深度學習的Java程序內部注釋的生成方法及系統有效
| 申請號: | 202110449761.5 | 申請日: | 2021-04-25 |
| 公開(公告)號: | CN113076133B | 公開(公告)日: | 2023-09-26 |
| 發明(設計)人: | 陳林;汪值;李言輝 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F8/73 | 分類號: | G06F8/73;G06F16/33;G06F40/289 |
| 代理公司: | 南京華鑫君輝專利代理有限公司 32544 | 代理人: | 王方超 |
| 地址: | 210000 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 深度 學習 java 程序 內部 注釋 生成 方法 系統 | ||
1.基于深度學習的Java程序內部注釋的生成方法,其特征在于,包括如下步驟:
步驟SS1:通過從GitHub中獲取Stars數排名靠前的項目,然后通過靜態分析工具JDT提取Java源碼中的方法信息,然后識別出對應的方法信息,提取出對應的內部注釋和方法語句列表;
步驟SS2:根據注釋的位置,遍歷方法信息中的語句,通過位置信息和數據流信息得到注釋對應的語句列表,得到:注釋,目標代碼對;
步驟SS3:根據注釋的類型進行過濾,選擇Verb-dobj形式的注釋;
步驟SS4:分析方法信息內部實現的數據流信息,根據變量之間的定義使用關系,得到和目標代碼段相關聯的代碼上下文;
步驟SS5:對注釋、目標代碼以及上下文進行預處理,所述預處理過程包括分詞、標識符切分,單詞小寫化;最終處理完成得到:注釋,目標代碼,代碼上下文組成的三元組數據集;
步驟SS6:對構建的數據集隨機劃分成訓練集、驗證集和測試集,同時構建編碼器解碼器網絡;
步驟SS7:所述步驟SS6中劃分中的訓練集用于模型訓練,并且通過在驗證集上進行評估,得到在驗證集上效果最好的模型作為目標模型;
步驟SS8:用所述步驟SS7獲得的目標模型對測試集中的數據進行預測,生成預測的注釋。
2.根據權利要求1所述的基于深度學習的Java程序內部注釋的生成方法,其特征在于,所述步驟SS1具體包括:通過從GitHub中獲取Stars數排名靠前的Java項目,得到5281個項目,下載到本地之后,通過靜態分析工具JDT來提取Java方法中的信息,提取代碼和注釋,每個注釋信息包括唯一路徑、注釋文本、類型、開始行、結束行,語句列表;所述唯一路徑包含文件名+類名+方法名+參數名,所述類型包含行注釋還是塊注釋,所述開始行和所述結束行包含單行注釋的開始行和結束行相同。
3.根據權利要求1所述的基于深度學習的Java程序內部注釋的生成方法,其特征在于,所述步驟SS2具體包括:對步驟SS1中的數據進行處理,根據注釋和代碼的位置與關系確定注釋的目標代碼;首先確定注釋的初始目標語句列表為注釋的下一行到以空行分割或者代碼塊結束的所有語句;然后通過變量的定義使用依賴、代碼的語義相似性依賴、代碼-注釋依賴來更加精確的選擇注釋對應的目標語句列表;每個數據表項為:注釋信息,目標語句列表,方法語句列表。
4.根據權利要求1所述的基于深度學習的Java程序內部注釋的生成方法,其特征在于,所述步驟SS3具體包括:對步驟SS2中的注釋進行處理,通過Stanford?coreNLP工具集對注釋進行磁性標注和依存分析,選擇以動詞開頭并且包含dobj直接賓語結構的注釋,進一步的去除包含的被注釋的代碼、技術債。
5.根據權利要求1所述的基于深度學習的Java程序內部注釋的生成方法,其特征在于,所述步驟SS4具體包括:基于步驟SS3中的目標語句列表和方法語句列表,通過數據流分析,提取目標語句列表和方法語句列表中存在的變量定義使用關系與變量的使用定義關系,構建出上下文語句列表;最終每一個數據表項為:注釋信息,目標語句列表,上下文語句列表。
6.根據權利要求1所述的基于深度學習的Java程序內部注釋的生成方法,其特征在于,所述步驟SS5具體包括:對步驟SS4中的數據進行處理,首先對于語句中的標識符,通過駝峰式命名法進行切分,通過正則表達式設計完成標識符的處理過程;然后將Java代碼通過標點符號進行切分,將代碼轉換為深度學習模型可以識別的單詞序列;同時對由標點和空格隔開的英文注釋進行分詞,最后將注釋以及代碼轉換為小寫,每個數據的表現形式為:注釋,目標代碼,上下文代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110449761.5/1.html,轉載請聲明來源鉆瓜專利網。





