[發明專利]一種源代碼中無效函數的查找方法和設備有效
| 申請號: | 201610189230.6 | 申請日: | 2016-03-29 |
| 公開(公告)號: | CN107239395B | 公開(公告)日: | 2020-06-02 |
| 發明(設計)人: | 郭春楊;洪濤 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司 11315 | 代理人: | 黃熊 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 源代碼 無效 函數 查找 方法 設備 | ||
本申請公開了一種源代碼中無效函數的查找方法和設備,包括:提取源代碼中包含的函數表達式;根據預設的函數表達式的引用類型,查找提取到的所述函數表達式對應的引用類型,所述引用類型包含顯性引用類型、隱性引用類型;若查找結果為無法確定所述函數表達式對應的引用類型,則確定提取到的所述函數表達式為無效函數。通過提取源代碼中包含的函數表達式,進而判斷所提取的函數表達式的引用類型,能夠有效查找出無效函數,進而能夠幫助開發人員有效減小軟件安裝包的大小,提升排查源代碼中包含的廢棄代碼的效率。
技術領域
本申請涉及互聯網信息處理技術及計算機技術領域,尤其涉及一種源代碼中無效函數的查找方法和設備。
背景技術
目前,隨著智能終端的普及,智能終端上的各種應用(Application,APP)也得到了廣泛的應用。
對于一款APP,隨著版本迭代、功能變更、業務增加,該APP的源代碼不斷地增加、修改以及刪除,特別是多人開發、長期開發的大型項目,APP的源代碼中非常容易出現沒有被使用的廢棄代碼(這里可以稱之為無效類函數)。
其中,所述無效類函數指APP在運行時不再被調用或者引用的函數。由此可見,所述無效類函數是源代碼中的冗余部分,會導致APP安裝包不必要地增大。
為了保證APP安裝包中所包含的代碼得以精簡,需要對APP的源代碼中包含的廢棄代碼進行查找,例如:對ios系統的Objective-C代碼中的廢棄代碼進行查找。
但是,在對Objective-C代碼中的廢棄代碼進行查找時,Objective-C語言屬于一種動態類型語言,具備動態編程語言特性。但是,在編譯時無法查找廢棄代碼,這樣導致排查源代碼中包含的廢棄代碼的效率比較低。
發明內容
有鑒于此,本申請實施例提出了一種源代碼中無效函數的查找方法和設備,用于解決現有技術中排查源代碼中包含的廢棄代碼存在的效率比較低的問題。
一種源代碼中無效函數的查找方法,包括:
提取源代碼中包含的函數表達式;
根據預設的函數表達式的引用類型,查找提取到的所述函數表達式對應的引用類型,其中,所述引用類型包含顯性引用類型、隱性引用類型;
若查找結果為無法確定所述函數表達式對應的引用類型,則確定提取到的所述函數表達式為無效函數。
一種源代碼中無效函數的查找設備,包括:
提取單元,用于提取源代碼中包含的函數表達式;
查找單元,用于根據預設的函數表達式的引用類型,查找提取到的所述函數表達式對應的引用類型,其中,所述引用類型包含顯性引用類型、隱性引用類型;
確定單元,用于若查找結果為無法確定所述函數表達式對應的引用類型,則確定提取到的所述函數表達式為無效函數。
本申請有益效果如下:
本申請實施例提取源代碼中包含的函數表達式;根據預設的函數表達式的引用類型,查找提取到的所述函數表達式對應的引用類型,所述引用類型包含顯性引用類型、隱性引用類型;若查找結果為無法確定所述函數表達式對應的引用類型,則確定提取到的所述函數表達式為無效函數。通過提取源代碼中包含的函數表達式,進而判斷所提取的函數表達式的引用類型,能夠有效查找出無效函數,進而能夠幫助開發人員有效減小軟件安裝包的大小,提升排查源代碼中包含的廢棄代碼的效率。
附圖說明
為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610189230.6/2.html,轉載請聲明來源鉆瓜專利網。





