[發明專利]用于靜態分析的多編譯器混合編譯的監控方法及裝置在審
| 申請號: | 202011322690.4 | 申請日: | 2020-11-23 |
| 公開(公告)號: | CN112363729A | 公開(公告)日: | 2021-02-12 |
| 發明(設計)人: | 陳睿;江云松;丁戈;王崢;李楊;肖志恒;賈春鵬;高棟棟;于婷婷;朱玉釗 | 申請(專利權)人: | 北京軒宇信息技術有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F11/30;G06F11/34 |
| 代理公司: | 中國航天科技專利中心 11009 | 代理人: | 陳鵬 |
| 地址: | 100190 北京市海淀區科學院*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 靜態 分析 編譯器 混合 編譯 監控 方法 裝置 | ||
本發明實施例公開了一種用于靜態分析的多編譯混合編譯的監控方法及裝置。所述方法包括:獲取待分析程序對應的程序編譯日志;根據所述程序編譯日志,識別得到編譯命令;根據所述編譯命令,設計通用的配置文件模型,并將所述程序編譯日志映射至所述配置文件模型,得到轉換的編譯參數;根據編譯器類型提取所述待分析程序對應的編譯信息。本發明實施例可以實現對多編譯器混合編譯的項目進行可配置的編譯監控。
技術領域
本發明涉及靜態分析的編譯監控技術領域,特別是一種用于靜態分析的多編譯器混合編譯的監控方法及裝置。
背景技術
靜態分析是軟件開發過程中的重要步驟,可以在不運行程序的情況下,發現程序中可能存在的問題。
對一個軟件項目進行靜態分析,需要根據項目的實際編譯情況進行配置,如項目編譯過程中有效的源文件、引用的頭文件以及宏等。項目越復雜,需要配置的內容就越繁瑣,僅通過人工配置的方式,效率低并且容易出錯。
編譯監控是指監控項目的編譯過程,從而自動獲取項目編譯的選項和配置的一種技術。編譯監控技術是解決復雜項目靜態分析時人工配置困難的有效方案,目前已有相關方面的專利,比如《一種基于makefile文件依賴的源碼分析方法》(專利號CN106202450A)和《一種基于makefile的代碼靜態分析方法和裝置》(專利號CN107832059A)。這兩個專利都是通過編譯器對makefile文件處理生成的中間文件進行分析,提取源文件依賴關系,但是沒有對不同編譯器所編譯的源文件做出區分,沒有提取編譯器內建頭文件與宏的信息。因此不能提供多編譯器混合編譯項目的解決方案。
缺少完整的編譯參數與環境配置會使靜態分析的預編譯過程出現錯誤,導致靜態分析不能正常進行或結果不準確。如何對多編譯器混合編譯的項目進行可配置的編譯監控,仍然需要更加系統的解決方案。
發明內容
本發明解決的技術問題是:克服現有技術的不足,提供了一種用于靜態分析的多編譯器混合編譯的監控方法及裝置。
為了解決上述技術問題,本發明實施例提供了一種用于靜態分析的多編譯器混合編譯的監控方法,包括:
獲取待分析程序對應的程序編譯日志;
根據所述程序編譯日志,識別得到編譯命令;
根據所述編譯命令,設計通用的配置文件模型,并將所述程序編譯日志映射至所述配置文件模型,得到轉換的編譯參數;
根據編譯器類型提取所述待分析程序對應的編譯信息。
可選地,所述獲取待分析程序對應的程序編譯日志,包括:
獲取所述待分析程序;
調用編譯器對所述待分析程序進行編譯處理,并獲取由所述編譯器輸出的所述程序編譯日志;
所述程序編譯日志包括編譯參數。
可選地,所述根據所述程序編譯日志,識別得到編譯命令,包括:
設計可識別的通用的編譯器種類擴展模型;
根據所述編譯器種類擴展模型和配置文件,擴展編譯器平臺種類;
通過所述配置文件中支持的編譯器名,識別得到所述程序編譯日志中的編譯命令。
可選地,所述配置文件模型為參數轉換模型,所述根據所述編譯命令,設計通用的配置文件模型,并將所述程序編譯日志映射至所述配置文件模型,得到轉換的編譯參數,包括:
獲取所述配置文件模型中所需變換的編譯參數與變換后參數之間的映射關系;
根據所述映射關系,將相同屬性的參數轉換為統一的參數;所述相同屬性的參數包括:不同編譯器平臺上指定宏的參數、指定頭文件的參數和取消內建宏的參數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京軒宇信息技術有限公司,未經北京軒宇信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011322690.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:割包投料機
- 下一篇:氣動單作用驅動頭閉式氣路裝置





