[發明專利]一種基于類繼承關系分析的API推薦方法在審
| 申請號: | 201910829311.1 | 申請日: | 2019-09-03 |
| 公開(公告)號: | CN110879704A | 公開(公告)日: | 2020-03-13 |
| 發明(設計)人: | 李必信;廖飛龍;孔祥龍;廖力;王璐璐;周穎 | 申請(專利權)人: | 東南大學 |
| 主分類號: | G06F8/36 | 分類號: | G06F8/36;G06F8/30 |
| 代理公司: | 南京眾聯專利代理有限公司 32206 | 代理人: | 杜靜靜 |
| 地址: | 210096 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 繼承 關系 分析 api 推薦 方法 | ||
本發明公開了一種基于類繼承關系分析的API(Application Programming Interface,應用程序編程接口)推薦方法,通過對方法按其所屬類之間的層次結構關系進行分類,并對方法間的依賴信息進行關聯關系分析,以確定屬于不同層次類的方法間的聯系。通過平衡方法間類的層次結構關系,方法間的依賴關系以及層次結構間方法的使用頻率,對于方法間存在較強邏輯關系的項目可以有效提高API方法推薦結果的準確率。
技術領域
本發明具體涉及一種基于類繼承關系分析的API推薦方法,屬于API方法推薦技術領域。
背景技術
API(Application Programming Interface,即應用程序編程接口)方法的高效復用能夠極大的提高開發人員的工作效率,降低開發成本并改善軟件質量。但是,隨著問題的深入,時間更迭,API方法數量呈爆炸式增長,開發人員在選擇使用不同API方法的過程中面臨更大的挑戰。開發人員一旦在調用過程中錯誤使用API方法,不但會引發程序缺陷、運行錯誤等問題,還可能導致安全故障甚至項目崩潰等。
基于以上問題,目前國內外學者不斷深入調研,已經取得了大量的研究成果。對于API方法推薦的研究,主要有基于數據挖掘的API方法推薦,基于自然語言處理的API方法推薦以及基于機器學習的API方法推薦三種方式。以上的各類研究均在一定程度上為開發人員推薦了合適的API方法,但是,這些方法的側重點大都在程序的上下文,根據代碼語言的重復性可預測性等特性來推薦相關結果,沒有考慮方法所屬類的繼承關系,即沒有考慮推薦的API方法之間的依賴關系。這些API方法推薦結果無論在理論研究成果還是實際場景的應用都存在推薦邏輯結構不嚴密和推薦準確率不足的問題。
針對這些問題,本發明提出基于類繼承關系分析的API推薦方法,以一種新的角度來對API方法進行推薦,極大的利用了JAVA語言特性,通過對方法進行基于不同類的層次結構劃分,將較少使用屬于更高類層次方法的推薦優先級提高,尤其是在調用高層次類方法較多的項目中,使得推薦的API方法結果列表具有更強的邏輯層次結構性,不僅能夠讓編程人員更加快速的找到解決問題的API方法,節約開發的時間和成本,更能將具有一定依賴關系的屬于不同類層次的方法綁定輸出,加深開發人員的學習效率并極大的提升推薦結果的準確率。
發明內容
本發明正是針對現有技術中存在的問題,提供一種對方法所屬類之間的層次結構關系以及方法間的依賴信息進行關聯關系分析,以確定屬于不同層次類的方法間的聯系,并將此聯系應用在API方法推薦的結果中,使得開發人員可以在當前推薦的方法列表中查找實現功能的相關API方法,以提高推薦結果的查準率。
為了實現上述目的,本發明的技術方案如下,一種基于類繼承關系分析的API推薦方法,包括如下步驟:
步驟1)解析項目源碼,將方法所屬類根據該類的聲明結構按層次劃分,并獲取所有方法的實際使用頻率;
步驟2)根據方法所屬類所在的層次結構,按照變量和方法兩個級別分析屬于高層次類的方法和屬于低層次類的方法之間的關聯關系以計算方法間的依賴度;
步驟3)綜合方法間的依賴度、各方法的實際使用頻率以及方法所屬類所在的層次,計算API方法推薦的優先值;
步驟4)根據API方法推薦優先值的大小按類的聲明層次結構由低到高推薦API方法。
上述方法中,步驟2)中計算方法間的依賴度Dep,具體流程為:
(a)計算方法級依賴度Dep1:
公式:
Dep1=cm/|d1-d2|;
其中cm是子類方法調用高層次類方法的次數,d1和d2是子類方法和高層次類方法所屬類的層次;
(b)計算變量級依賴度Dep2:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東南大學,未經東南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910829311.1/2.html,轉載請聲明來源鉆瓜專利網。





