[發明專利]一種面向源代碼的縮寫詞擴展必要性自動判定方法有效
| 申請號: | 202110762787.5 | 申請日: | 2021-07-06 |
| 公開(公告)號: | CN113419720B | 公開(公告)日: | 2022-01-07 |
| 發明(設計)人: | 劉輝;羅曉青;姜艷杰 | 申請(專利權)人: | 北京理工大學 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/77 |
| 代理公司: | 北京正陽理工知識產權代理事務所(普通合伙) 11639 | 代理人: | 張利萍 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 源代碼 縮寫 擴展 必要性 自動 判定 方法 | ||
1.一種面向源代碼的縮寫詞擴展必要性自動判定方法,其特征在于,包括以下步驟:
步驟1:對標識符長度進行分析;
首先,從軟件源代碼的語料庫中提取所有標識符,并根據實體的類型對它們進行分類,類型包括變量名、參數名、方法名、類名和字段名;對于每種類型的標識符,計算其長度的概率分布;
步驟2:從源代碼語料庫中提取所在最大團的大小不小于預定義的閾值β的縮寫詞;
步驟3:在步驟1中,對于每種類型的標識符,計算其長度的概率分布;
對于類型為T的標識符id中的給定縮寫詞,用其完整術語替換縮寫將使id的長度從k個字符增加到j個字符,k、j表示個數,如果P(T,j)P(T,k),則不展開該縮寫詞;
其中,對于每種類型的標識符,計算其長度的概率分布P,概率分布表示類型T的標識符恰好由n個字符組成的概率,記為P(T,n);
步驟4:在步驟2中,通過數據挖掘技術,識別源代碼語料庫中的縮寫詞,從而產生一組最大團;
檢索包含縮寫詞abbi的項目中的所有縮寫詞,并計算與abbi在詞匯上相同的縮寫詞的數量;如果這個數字大于閾值γ,則不擴展該縮寫詞;如果存在一個與abbi縮寫詞在詞匯上相同的最大團,并且團內節點與abbi之間的平均上下文相似度大于閾值α,也不展開該縮寫詞;
步驟5:如果縮寫詞abbi及其完整術語出現在定義外圍標識符的同一源代碼行上,則不展開它;
步驟A:首先,對于縮寫詞abbi,提取其整行源代碼,其中,它的外圍標識符被定義為縮寫詞的上下文,記作CTX(abbi);
步驟B:然后,將上下文CTX(abbi)根據空格、大寫字母和特殊字符分解為一個標記序列,得到的序列標記為Seq(abbi);
步驟C:設縮寫詞的全稱是由<ω1,...,ωn>組成的序列,如果Seq(abbi)中所有單詞都有等價的標記,則不展開縮寫詞;如果兩個單詞相同或共享相同的根,則它們是等價的;
通過步驟A、B和C,能夠有效判斷縮寫詞以及它的完整術語是否出現在定義外圍標識符的同一源代碼行上;
步驟6:如果在前面的步驟中均沒有確定該縮寫詞不需要被展開,即,沒有被標記為不展開的縮寫詞,則最終展開縮寫詞abbi。
2.如權利要求1所述的一種面向源代碼的縮寫詞擴展必要性自動判定方法,其特征在于,步驟2中,利用基于圖的數據挖掘技術,從源代碼語料庫中識別并提取縮寫詞,得到的每個縮寫詞都表示為一個元組,該元組中包括縮寫詞的文本和上下文;其中,上下文由標志符組成,使用Paragraph2Vector算法對標志符進行向量化;
對于每組縮寫詞,構造一個無向圖G,其中的節點表示該組中的縮寫詞,邊的權值表示縮寫詞之間的上下文相似度;
如果兩個縮寫詞的上下文相似度小于預定義的閾值α,則刪除兩個頂點的邊;結果圖的最大團表示一個流行的縮寫詞,團的大小表明了該縮寫詞的流行程度;只保留最大團的大小不小于預定義的閾值β大小的縮寫詞。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京理工大學,未經北京理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110762787.5/1.html,轉載請聲明來源鉆瓜專利網。





