[發明專利]一種基于類繼承關系分析的API推薦方法在審
| 申請號: | 201910829311.1 | 申請日: | 2019-09-03 |
| 公開(公告)號: | CN110879704A | 公開(公告)日: | 2020-03-13 |
| 發明(設計)人: | 李必信;廖飛龍;孔祥龍;廖力;王璐璐;周穎 | 申請(專利權)人: | 東南大學 |
| 主分類號: | G06F8/36 | 分類號: | G06F8/36;G06F8/30 |
| 代理公司: | 南京眾聯專利代理有限公司 32206 | 代理人: | 杜靜靜 |
| 地址: | 210096 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 繼承 關系 分析 api 推薦 方法 | ||
1.一種基于類繼承關系分析的API推薦方法,其特征在于,所述方法包括以下步驟:
步驟1)解析項目源碼,將方法所屬類根據該類的聲明結構按層次劃分,并獲取所有方法的實際使用頻率;
步驟2)根據方法所屬類所在的層次結構,按照變量和方法兩個級別分析屬于高層次類的方法和屬于低層次類的方法之間的關聯關系以計算方法間的依賴度;
步驟3)綜合方法間的依賴度、各方法的實際使用頻率以及方法所屬類所在的層次,計算API方法推薦的優先值;
步驟4)根據API方法推薦優先值的大小按類的聲明層次結構由低到高推薦API方法。
2.根據權利要求1所述的基于類繼承關系分析的API推薦方法,其特征在于,所述步驟2)中計算方法間的依賴度Dep,具體流程為:
(a)計算方法級依賴度Dep1:
公式:
Dep1=cm/|d1-d2|;
其中cm是子類方法調用高層次類方法的次數,d1和d2是子類方法和高層次類方法所屬類的層次;
(b)計算變量級依賴度Dep2:
公式:
Dep2=cf/|d1-d2|;
其中cf為子類方法調用高層次類變量的數量,并且這些變量都在高層次類的方法中出現,d1和d2是子類方法和高層次類方法所屬類的層次;
(c)求出Dep1和Dep2結果的平均值,即為子類方法和屬于高層次類方法的依賴度Dep。
3.根據權利要求2所述的基于類繼承關系分析的API推薦方法,其特征在于,所述步驟3)中計算API方法推薦的優先值r:
(a)通過源代碼解析獲取API方法的實際使用頻率f,通過JDT現有工具抽象語法樹的綁定機制,獲取當前方法所屬類繼承關系的層次d;
(b)優先值r的結果由依賴綁定結果Dep,依賴方法的優先值rm,API方法實際使用頻率f,以及方法所屬類的層次d加權所得:
公式:
r=0.1×Dep×rm+2×f+log3 d。
4.根據權利要求3所述的基于類繼承關系分析的API推薦方法,其特征在于,所述每個API方法推薦的優先值r的大小按照方法間類的聲明層次結構從低到高依次輸出。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東南大學,未經東南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910829311.1/1.html,轉載請聲明來源鉆瓜專利網。





