System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 午夜无码一区二区三区在线观看,亚无码乱人伦一区二区,无码专区—VA亚洲V天堂
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    代碼可達性分析方法、裝置、電子設備、產品及存儲介質制造方法及圖紙

    技術編號:44365242 閱讀:2 留言:0更新日期:2025-02-25 09:45
    本發明專利技術提供一種代碼可達性分析方法、裝置、電子設備、產品及存儲介質,涉及代碼分析技術領域。其中方法包括:將源代碼進行編譯,得到中間表達指令集;從中間表達指令集中確定出函數指令集,將函數指令集中各函數指令的抽象變量名稱替換為實際類名,以得到具體化函數指令集;基于具體化函數指令集中各具體化函數指令的調用信息,得到具體化函數指令信息集;基于具體化函數指令信息集中各具體化函數指令信息分別與預設危險函數指令信息集中各預設危險函數指令信息的匹配結果,確定源代碼中各函數的可達性。本發明專利技術能夠解決現有的分析方法在面對現代編程語言中復雜的語言特性時,無法提供高精度、高效率的代碼可達性分析的缺陷。

    【技術實現步驟摘要】

    本專利技術涉及代碼分析,尤其涉及一種代碼可達性分析方法、裝置、電子設備、產品及存儲介質


    技術介紹

    1、在現代軟件開發中,隨著面向對象編程語言的廣泛應用,編程語言中引入了許多高級特性,如繼承、多態、泛型等,這意味著程序越來越復雜,若沒有對這些高級特性進行深入的分析,可能導致在代碼存在潛在的安全風險和邏輯錯誤。現有技術通常依賴于控制流圖分析技術、數據流分析技術和符號執行分析技術等靜態分析技術來分析編程語言中的高級特性。

    2、然而,這些現有技術也存在一定的缺陷。例如,控制流圖分析技術在處理多態和間接調用時精度較低;數據流分析技術難以應對復雜的引用關系,特別是動態類型和多態性;符號執行分析技術在路徑爆炸和狀態空間膨脹問題上,無法應對大規模項目的分析需求。由此可見,現有技術在面對現代編程語言中復雜的語言特性時,無法提供高精度、高效率的代碼可達性分析,進而可能導致程序中存在的潛在漏洞無法被及時發現。


    技術實現思路

    1、本專利技術提供一種代碼可達性分析方法、裝置、電子設備、產品及存儲介質,用以解決現有技術在面對現代編程語言中復雜的語言特性時,無法提供高精度、高效率的代碼可達性分析的缺陷。

    2、本專利技術提供一種代碼可達性分析方法,包括:

    3、獲取源代碼,將所述源代碼進行編譯,得到中間表達指令集;

    4、從所述中間表達指令集中確定出函數指令集,將所述函數指令集中各函數指令的抽象變量名稱替換為實際類名,以得到具體化函數指令集;所述函數指令集中任一條函數指令表征所述源代碼中函數的執行邏輯;

    5、基于所述具體化函數指令集中各具體化函數指令的調用信息,得到具體化函數指令信息集,所述具體化函數指令信息集中任一條具體化函數指令信息表征所述源代碼中函數的執行邏輯及所述函數的調用信息;

    6、基于所述具體化函數指令信息集中各具體化函數指令信息分別與預設危險函數指令信息集中各預設危險函數指令信息的匹配結果,確定所述源代碼中各函數的可達性。

    7、根據本專利技術提供的一種代碼可達性分析方法,在所述基于所述具體化函數指令集中各具體化函數指令的調用信息,得到具體化函數指令信息集之前,所述方法包括:

    8、基于所述具體化函數指令集中各具體化函數指令的類型信息和參數傳遞路徑,確定所述具體化函數指令集中各具體化函數指令的調用信息。

    9、根據本專利技術提供的一種代碼可達性分析方法,所述具體化函數指令的類型信息包括本地函數類型、繼承函數類型或重載函數類型;所述具體化函數指令的調用信息包括獨立調用信息、繼承鏈調用信息或多態調用信息;

    10、任一所述具體化函數指令的調用信息基于如下方式確定:

    11、若所述具體化函數指令的類型信息為本地函數類型,則將所述具體化函數指令的調用信息確定為獨立調用信息;

    12、若所述具體化函數指令的類型信息為繼承函數類型,則將所述具體化函數指令的調用信息確定為繼承鏈調用信息;

    13、若所述具體化函數指令的類型信息為重載函數類型,則將所述具體化函數指令的調用信息確定為多態調用信息。

    14、根據本專利技術提供的一種代碼可達性分析方法,在所述確定所述具體化函數指令集中各具體化函數指令的調用信息之后,所述方法還包括:

    15、基于所述具體化函數指令集中各具體化函數指令的調用信息對所述具體化函數指令集中各具體化函數指令進行分類標記。

    16、根據本專利技術提供的一種代碼可達性分析方法,所述基于所述具體化函數指令信息集中各具體化函數指令信息分別與預設危險函數指令信息集中各預設危險函數指令信息的匹配結果,確定所述源代碼中各函數的可達性,包括:

    17、若所述具體化函數指令信息集中的具體化函數指令信息與預設危險函數指令信息集中的預設危險函數指令信息匹配成功,則確定出待分析的具體化函數指令信息;

    18、對所述待分析的具體化函數指令信息進行分析,得到可達性分析結果;

    19、其中,所述可達性分析結果用于確定所述待分析的具體化函數指令信息在所述源代碼中所表征的函數的可達性。

    20、根據本專利技術提供的一種代碼可達性分析方法,所述可達性分析結果包括所述待分析的具體化函數指令信息在所述源代碼中所表征的函數的位置信息、執行邏輯風險提示和調用信息風險提示。

    21、本專利技術還提供一種代碼可達性分析裝置,包括:

    22、編譯模塊,其用于獲取源代碼,將所述源代碼進行編譯,得到中間表達指令集;

    23、具體化函數指令集確定模塊,其用于從所述中間表達指令集中確定出函數指令集,將所述函數指令集中各函數指令的抽象變量名稱替換為實際類名,以得到具體化函數指令集;所述函數指令集中任一條函數指令表征所述源代碼中函數的執行邏輯;

    24、具體化函數指令信息集確定模塊,其用于基于所述具體化函數指令集中各具體化函數指令的調用信息,得到具體化函數指令信息集,所述具體化函數指令信息集中任一條具體化函數指令信息表征所述源代碼中函數的執行邏輯及所述函數的調用信息;

    25、可達性分析模塊,其用于基于所述具體化函數指令信息集中各具體化函數指令信息分別與預設危險函數指令信息集中各預設危險函數指令信息的匹配結果,確定所述源代碼中各函數的可達性。

    26、本專利技術還提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現如上述任一種所述代碼可達性分析方法。

    27、本專利技術還提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現如上述任一種所述代碼可達性分析方法。

    28、本專利技術還提供一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現如上述任一種所述代碼可達性分析方法。

    29、本專利技術提供的代碼可達性分析方法、裝置、電子設備、產品及存儲介質,所述方法包括獲取源代碼,將所述源代碼進行編譯,得到中間表達指令集;從所述中間表達指令集中確定出函數指令集,將所述函數指令集中各函數指令的抽象變量名稱替換為實際類名,以得到具體化函數指令集;所述函數指令集中任一條函數指令表征所述源代碼中函數的執行邏輯;基于所述具體化函數指令集中各具體化函數指令的調用信息,得到具體化函數指令信息集,所述具體化函數指令信息集中任一條具體化函數指令信息表征所述源代碼中函數的執行邏輯及所述函數的調用信息;基于所述具體化函數指令信息集中各具體化函數指令信息分別與預設危險函數指令信息集中各預設危險函數指令信息的匹配結果,確定所述源代碼中各函數的可達性。本專利技術通過引入中間表達技術,將復雜的代碼結構轉化為便于分析的中間層數據結構,針對現有代碼可達性分析技術在處理現代編程語言高級特性時精度不足的問題,提供了有效解決方案。具體而言,本專利技術通過將中間表達中的函數指令集具體化,即將各函數指令的抽象變量名稱替換為實際類名,消除了由動態類型和多態性引發的不確定性,明確了函數的實際調本文檔來自技高網...

    【技術保護點】

    1.一種代碼可達性分析方法,其特征在于,包括:

    2.根據權利要求1所述的代碼可達性分析方法,其特征在于,在所述基于所述具體化函數指令集中各具體化函數指令的調用信息,得到具體化函數指令信息集之前,所述方法包括:

    3.根據權利要求2所述的代碼可達性分析方法,其特征在于,所述具體化函數指令的類型信息包括本地函數類型、繼承函數類型或重載函數類型;所述具體化函數指令的調用信息包括獨立調用信息、繼承鏈調用信息或多態調用信息;

    4.根據權利要求2所述的代碼可達性分析方法,其特征在于,在所述確定所述具體化函數指令集中各具體化函數指令的調用信息之后,所述方法還包括:

    5.根據權利要求1所述的代碼可達性分析方法,其特征在于,所述基于所述具體化函數指令信息集中各具體化函數指令信息分別與預設危險函數指令信息集中各預設危險函數指令信息的匹配結果,確定所述源代碼中各函數的可達性,包括:

    6.根據權利要求5所述的代碼可達性分析方法,其特征在于,所述可達性分析結果包括所述待分析的具體化函數指令信息在所述源代碼中所表征的函數的位置信息、執行邏輯風險提示和調用信息風險提示。

    7.一種代碼可達性分析裝置,其特征在于,包括:

    8.一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并在所述處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算機程序時實現如權利要求1至6任一項所述的代碼可達性分析方法。

    9.一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1至6任一項所述的代碼可達性分析方法。

    10.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1至6任一項所述的代碼可達性分析方法。

    ...

    【技術特征摘要】

    1.一種代碼可達性分析方法,其特征在于,包括:

    2.根據權利要求1所述的代碼可達性分析方法,其特征在于,在所述基于所述具體化函數指令集中各具體化函數指令的調用信息,得到具體化函數指令信息集之前,所述方法包括:

    3.根據權利要求2所述的代碼可達性分析方法,其特征在于,所述具體化函數指令的類型信息包括本地函數類型、繼承函數類型或重載函數類型;所述具體化函數指令的調用信息包括獨立調用信息、繼承鏈調用信息或多態調用信息;

    4.根據權利要求2所述的代碼可達性分析方法,其特征在于,在所述確定所述具體化函數指令集中各具體化函數指令的調用信息之后,所述方法還包括:

    5.根據權利要求1所述的代碼可達性分析方法,其特征在于,所述基于所述具體化函數指令信息集中各具體化函數指令信息分別與預設危險函數指令信息集中各預設危險函數指令信息的匹配結果,確定所述源代...

    【專利技術屬性】
    技術研發人員:屈晟陳馳皓武延軍
    申請(專利權)人:中國科學院軟件研究所
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国内精品人妻无码久久久影院导航| 国产在线观看无码免费视频| 中文无码不卡的岛国片| 无码国产激情在线观看| AV无码精品一区二区三区宅噜噜| 狠狠噜天天噜日日噜无码| 亚洲av极品无码专区在线观看| 无码欧精品亚洲日韩一区夜夜嗨| 精品无码久久久久久尤物| 亚洲色偷拍区另类无码专区| 亚洲精品无码国产片| 水蜜桃av无码一区二区| 久久亚洲精品无码观看不卡| 亚洲中文久久精品无码1| 久久无码av三级| 亚洲AV无码一区二区三区在线观看 | 国产精品无码AV一区二区三区 | 亚洲中文字幕无码久久2017| 亚洲AV日韩AV无码污污网站| 人妻少妇精品无码专区二区 | 无码人妻丰满熟妇区BBBBXXXX| 中文字幕久无码免费久久| 免费无码又爽又高潮视频| 精品国产a∨无码一区二区三区 | 亚洲av麻豆aⅴ无码电影| 亚洲精品无码少妇30P| 无码人妻精品一区二区三区蜜桃 | 男人av无码天堂| 亚洲av永久中文无码精品综合 | 国产成人无码区免费内射一片色欲| 免费看国产成年无码AV片| 亚洲AV综合色区无码一二三区| 久久久久精品国产亚洲AV无码| 日韩精品无码一区二区三区| 欧洲Av无码放荡人妇网站| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲熟妇无码AV| 亚洲AV无码片一区二区三区| 成人免费一区二区无码视频| 人妻无码一区二区三区| 红桃AV一区二区三区在线无码AV|