[發明專利]應用程序模塊的分析方法、裝置以及分析工具在審
| 申請號: | 202010177068.2 | 申請日: | 2020-03-13 |
| 公開(公告)號: | CN113391812A | 公開(公告)日: | 2021-09-14 |
| 發明(設計)人: | 葉俊星;李猛超;賈杰 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F11/36 |
| 代理公司: | 北京思格頌知識產權代理有限公司 11635 | 代理人: | 潘珺 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 應用程序 模塊 分析 方法 裝置 以及 工具 | ||
本公開涉及一種應用程序模塊分析方法、裝置以及分析工具。其中應用程序模塊分析方法包括:對應用程序所包含的至少一個文件的源碼進行分析,得到應用程序至少一個文件的分析結果,得出模塊所包含的所有文件的分析結果;在模塊級別上進行模塊依賴分析,得到模塊正向依賴分析結果,再結合模塊文件分析結果,得到模塊的分析結果;最后進行跨模塊分析,得到在模塊級別和文件級別上模塊和文件之間的逆向依賴分析結果。本公開提供了文件級別和模塊級別的逆向依賴分析結果,可供研發人員清楚地了解應用程序中模塊和文件中的逆向依賴關系,減少程序的冗余,降低了程序的維護和迭代成本。
技術領域
本公開涉及計算機程序領域,特別涉及一種應用程序模塊的分析方法、裝置以及分析工具。
背景技術
一款復雜的應用程序為了并行開發、降低開發復雜度、提升開發效率,通常應用程序中包含多個模塊,一個模塊包含一個或多個文件,一個文件包含一個或多個API。模塊之間通過某種約定方式進行相互依賴協作。
采用這種方法帶來了一個新的問題:模塊間的依賴難以追蹤,在應用程序迭代的過程中,易出現改動一個模塊,影響多個模塊的問題。由于應用程序內的模塊數量眾多,人工檢索成本較高,導致開發人員難以知道模塊之間逆向依賴(被其他模塊依賴)情況,也就是難以知曉一個模塊的迭代,具體會影響哪些其它模塊,例如當多個模塊均依賴同一個模塊時,一旦該模塊發生迭代或修改,則難免都會對被依賴的模塊產生影響,但由于研發人員難以知悉模塊和文件之間的逆向依賴關系,會導致在迭代和維護過程中源碼大量冗余,程序變得越來越臃腫,迭代成本越來越高。
發明內容
鑒于上述問題,提出了本公開以便提供一種克服上述問題或者至少部分地解決上述問題的一種分析應用程序模塊的分析方法、裝置以及分析報告。
第一方面,本公開實施例提供一種應用程序模塊的分析方法,包括:
對應用程序所包含的至少一個文件的源碼進行分析,得到所述至少一個文件的分析結果;
根據所述模塊包含的文件,確定模塊所包含的文件的分析結果;并對所述應用程序的模塊,在模塊級別上進行模塊依賴分析,得到所述模塊的正向依賴分析結果;
根據所述模塊的正向依賴分析結果和模塊所包含的文件的分析結果,得到所述模塊的分析結果;
匯總所述應用程序中模塊的分析結果,進行跨模塊分析,得到在模塊級別和文件級別上模塊之間的逆向依賴分析結果。
在一個實施例中,對應用程序所包含的至少一個文件的源碼進行分析,得到所述至少一個文件的分析結果,具體包括:
從應用程序的至少一個入口文件開始,依次對所述入口文件的源碼進行文件依賴分析,得到文件依賴分析結果,以遞歸的方式的對入口文件依賴文件繼續進行文件依賴分析,直到遍歷完所述應用程序包含的文件,得到應用程序所有文件的分析結果。
在一個實施例中,一種應用程序模塊的分析方法,還包括:
創建棧數據結構,在所述棧數據結構中記錄應用程序所包含的文件遞歸的路徑;
根據所述文件遞歸的路徑,判斷當前所需分析的文件的源碼是否已被遍歷;
當判斷為否時,執行對所述文件的源碼進行分析的步驟;
當判斷為是時,跳轉至下一個所依賴的文件的源碼進行分析。
在一個實施例中,對應用程序所包含的至少一個文件的源碼進行分析,得到所述至少一個文件的分析結果,包括:
分別收集文件的屬性數據;
對所述文件的源碼進行語法分析,構建對應的語法樹;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010177068.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:顯示設備
- 下一篇:一種高精度地圖數據的生成方法、裝置及服務器





