CN112835788B - 一种评估Linux应用程序与操作系统兼容性的方法 - Google Patents

一种评估Linux应用程序与操作系统兼容性的方法 Download PDF

Info

Publication number
CN112835788B
CN112835788B CN202110040663.6A CN202110040663A CN112835788B CN 112835788 B CN112835788 B CN 112835788B CN 202110040663 A CN202110040663 A CN 202110040663A CN 112835788 B CN112835788 B CN 112835788B
Authority
CN
China
Prior art keywords
dynamic link
operating system
application program
link library
lib
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110040663.6A
Other languages
English (en)
Other versions
CN112835788A (zh
Inventor
史长亭
法洪强
李晋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN202110040663.6A priority Critical patent/CN112835788B/zh
Publication of CN112835788A publication Critical patent/CN112835788A/zh
Application granted granted Critical
Publication of CN112835788B publication Critical patent/CN112835788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明属于软件可靠性技术领域,具体涉及一种评估Linux应用程序与操作系统兼容性的方法。本发明通过将操作系统中提供的动态链接库、接口和应用程序对外直接依赖和间接依赖的动态链接库、接口进行对比,得到二者的静态二进制兼容性结果,实现了Linux应用程序在不同发行版操作系统运行兼容性问题的检测。本发明可以检测到应用程序对操作系统的直接依赖,并基于一种递归策略实现检测应用程序的间接依赖。本发明根据应用程序对外依赖和操作系统提供的资源的匹配程度进行了有效的兼容性分级评估,帮助开发者清晰的了解应用程序与操作系统的兼容程度。

Description

一种评估Linux应用程序与操作系统兼容性的方法
技术领域
本发明属于软件可靠性技术领域,具体涉及一种评估Linux应用程序与操作系统兼容性的方法。
背景技术
当前最为流行的计算机操作系统主要有Windows,MacOS和Linux,其中Windows操作系统和MacOS操作系统属于闭源操作系统,而Linux属于开源操作系统。在兼容性工作方面,微软公司在Windows上投入了大量的人力和财力来保证用户应用程序在多个版本的操作系统之间实现兼容,其采取的措施主要有:一方面保证暴露给应用程序的API的稳定性,一方面新版本系统继承旧版本系统的共享库打包到镜像中,再者,64位操作系统为了兼容32位应用程序还在系统中增加了32位系统文件;但是,在MacOS操作系统和Linux操作系统上,应用程序与操作系统之间的兼容性可能没有那么好。
在Linux操作系统上,如果需要安装一个应用程序,一些情况下更多会需要应用程序开发者或者使用者来保证与操作系统的兼容。由于Linux内核是开源的,任何人都能得到Linux内核源代码,这也导致了基于Linux内核开发的操作系统发行版非常多,常见的就有Ubuntu、CentOS、ArchLinux等,所以,Linux发行版不可能像Windows一样把各个版本的共享库都打包到镜像中。一种解决方案就是每个Linux发行版都有自己的包管理器和软件源。但是并不是每种软件源都包含所有的应用依赖文件,并且一些环境下(如某些涉密专用机等)是无法联网下载依赖的,所以如果想要应用程序跨Linux发行版运行,还是可能会出现一些兼容性问题。对于开发人员来说一种可行的方法就是在打包应用程序的同时将应用依赖的动态链接库打包。
针对Linux应用程序与操作系统兼容性检测的问题,Linux基金会发布了LinuxStandard Base(LSB)标准以达到应用程序的二进制规范,并且开发了linux-app-checker用来检测应用程序是否和某一特定Linux发行版兼容。但是针对兼容性检测的问题,linux-app-checker只能对几种Linux发行版进行兼容性检测,能够得到应用程序的外部依赖库、外部依赖函数等结果,但是因为其是使用给定的LSB接口集进行数据对比得到的结果,也可以说得到的是应用程序是否符合LSB规范,而许多进行过定制的或者裁剪过的操作系统则不适用,并且该工具的检测结果只是应用程序的直接外部依赖,不能保证得到应用程序的所有依赖。
发明内容
本发明的目的在于提供一种评估Linux应用程序与操作系统兼容性的方法。
本发明的目的通过如下技术方案来实现:包括以下步骤:
步骤1:对操作系统进行扫描,扫描路径选择“/”,得到操作系统在扫描路径“/”下的动态链接库集L;解析扫描路径“/”下的所有ELF文件,得到操作系统的接口集I;将操作系统在扫描路径“/”下的动态链接库集L和接口集I写入MySQL数据库;
步骤2:对操作系统进行扫描,扫描路径选择”/usr/lib”和”/lib”,得到操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL;解析扫描路径”/usr/lib”和”/lib”下的所有ELF文件,得到操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的接口集SI;将操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL和接口集SI写入MySQL数据库;
步骤3:输入待检测的Linux应用程序的扫描路径,对待检测的Linux应用程序进行扫描,获取待检测的Linux应用程序的所有ELF文件;对所有ELF文件进行解析,得到待检测的Linux应用程序的所有对外直接依赖的动态链接库和接口信息写入MySQL数据库;
步骤4:读取MySQL数据库中待检测的Linux应用程序直接依赖的动态链接库信息,获取相应的路径,对待检测的Linux应用程序在该路径下进行扫描并解析,得到待检测的Linux应用程序的对外二级依赖的动态链接库和接口信息;
步骤5:递归执行步骤4直到待检测的Linux应用程序所有依赖的动态链接库和接口全部已写入MySQL数据库,得到Linux应用程序的对外依赖的动态链接库集NL和接口集NI;
步骤6:基于MySQL数据库的数据查询功能,根据操作系统的动态链接库集L和接口集I与待检测的Linux应用程序的动态链接库集NL和接口集NI之间的交集和差集,获取待检测的Linux应用程序与操作系统的兼容性结果;
即待检测的Linux应用程序的动态链接库集NL和接口集NI中存在未记录在操作系统的动态链接库集L和接口集I中的中的信息,则判定Linux应用程序与操作系统静态二进制不兼容;
即待检测的Linux应用程序的动态链接库集NL和接口集NI中的信息全部包含在操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL和接口集SI中,则判定Linux应用程序与操作系统静态二进制兼容;
若(即待检测的Linux应用程序的动态链接库集NL和接口集NI中的信息全部包含在操作系统的动态链接库集L和接口集I中,但是这些外部依赖库并非完全在”/usr/lib”或”/lib”路径下,则判定Linux应用程序与操作系统静态二进制潜在兼容。
本发明的有益效果在于:
本发明通过将操作系统中提供的动态链接库、接口和应用程序对外直接依赖和间接依赖的动态链接库、接口进行对比,得到二者的静态二进制兼容性结果,实现了Linux应用程序在不同发行版操作系统运行兼容性问题的检测。本发明可以检测到应用程序对操作系统的直接依赖,并基于一种递归策略实现检测应用程序的间接依赖。本发明根据应用程序对外依赖和操作系统提供的资源的匹配程度进行了有效的兼容性分级评估,帮助开发者清晰的了解应用程序与操作系统的兼容程度。在使用应用程序前使用本发明对其进行静态二进制兼容性检测,可以在有限的时间内提前得到应用于系统的兼容性,并作出相应处理。
附图说明
图1为本发明的流程图。
图2为本发明中操作系统数据分析的流程图。
图3为本发明中应用程序数据分析的流程图。
图4为本发明中兼容性级别评估的流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明涉及一种评估Linux应用程序与操作系统静态二进制兼容性的方法,属于软件可靠性技术领域。本发明的目的是为了实现Linux应用程序在不同发行版操作系统运行兼容性问题检测而提供的一种基于系统、应用扫描和数据分析的一种评估Linux应用程序与操作系统静态二进制兼容性的方法,可以通过将操作系统中提供的动态链接库、接口和应用程序对外直接依赖和间接依赖的动态链接库、接口进行对比,得到二者的静态二进制兼容性结果。
一种评估Linux应用程序与操作系统兼容性的方法,包括以下步骤:
步骤1:对操作系统进行扫描,扫描路径选择“/”,得到操作系统在扫描路径“/”下的动态链接库集L;解析扫描路径“/”下的所有ELF文件,得到操作系统的接口集I;将操作系统在扫描路径“/”下的动态链接库集L和接口集I写入MySQL数据库;
步骤2:对操作系统进行扫描,扫描路径选择”/usr/lib”和”/lib”,得到操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL;解析扫描路径”/usr/lib”和”/lib”下的所有ELF文件,得到操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的接口集SI;将操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL和接口集SI写入MySQL数据库;
步骤3:输入待检测的Linux应用程序的扫描路径,对待检测的Linux应用程序进行扫描,获取待检测的Linux应用程序的所有ELF文件;对所有ELF文件进行解析,得到待检测的Linux应用程序的所有对外直接依赖的动态链接库和接口信息写入MySQL数据库;
步骤4:读取MySQL数据库中待检测的Linux应用程序直接依赖的动态链接库信息,获取相应的路径,对待检测的Linux应用程序在该路径下进行扫描并解析,得到待检测的Linux应用程序的对外二级依赖的动态链接库和接口信息;
步骤5:递归执行步骤4直到待检测的Linux应用程序所有依赖的动态链接库和接口全部已写入MySQL数据库,得到Linux应用程序的对外依赖的动态链接库集NL和接口集NI;
步骤6:基于MySQL数据库的数据查询功能,根据操作系统的动态链接库集L和接口集I与待检测的Linux应用程序的动态链接库集NL和接口集NI之间的交集和差集,获取待检测的Linux应用程序与操作系统的兼容性结果;
即待检测的Linux应用程序的动态链接库集NL和接口集NI中存在未记录在操作系统的动态链接库集L和接口集I中的中的信息,则判定Linux应用程序与操作系统静态二进制不兼容;
即待检测的Linux应用程序的动态链接库集NL和接口集NI中的信息全部包含在操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL和接口集SI中,则判定Linux应用程序与操作系统静态二进制兼容;
若(即待检测的Linux应用程序的动态链接库集NL和接口集NI中的信息全部包含在操作系统的动态链接库集L和接口集I中,但是这些外部依赖库并非完全在”/usr/lib”或”/lib”路径下,则判定Linux应用程序与操作系统静态二进制潜在兼容。
实施例1:
针对Linux操作系统上应用程序可能出现的兼容性问题,本发明通过静态分析得到应用程序可能需要加载的动态链接库和方法,并基于加载执行的时序对Linux应用程序的外部依赖进行直接依赖和间接依赖两种依赖类型进行分类:其中从应用程序可以直接解析得到的外部动态链接库和接口为直接依赖;对应用程序直接依赖的动态链接库进行解析得到的外部依赖库和接口为间接依赖;并且根据得到的应用程序的外部依赖结果和操作系统扫描得到的结果之间进行的分析,对应用程序和操作系统之间的兼容性进行分级:1.应用程序外部依赖与操作系统之间静态二进制兼容;2.应用程序外部依赖于操作系统之间静态二进制潜在兼容;3.应用程序与操作系统之间静态二进制不兼容。
一种评估Linux应用程序与操作系统静态二进制兼容性的方法,包括流程如下:
步骤1:对当前系统进行扫描,获取到当前操作系统中所提供的所有动态链接库,同时使用readelf实用工具解析库文件得到接口信息。其中扫描路径选择“/”而不是默认动态链接库路径”/usr/lib”、”/lib”,因为应用程序编译时可能指定动态链接库扫描路径。将最终扫描信息写入MySQL数据库。
步骤2:提供应用程序路径,对待检测应用程序进行扫描,递归找到应用中所有ELF文件(可执行链接文件),对所有ELF文件进行解析,得到应用程序所有的对外直接依赖的动态链接库和接口信息写入MySQL。
步骤3:读取MySQL中应用程序直接依赖的动态链接库信息,找到相应的路径,对该动态链接库执行步骤2相同的操作,可以得到该应用程序对外二级依赖的动态链接库和接口,递归执行步骤3的操作直到所有依赖全部已写入数据库,可以得到应用程序所有直接依赖和间接依赖动态链接库和接口。
步骤4:数据分析。基于MySQL数据库的数据查询功能,求出操作系统动态链接库、接口集和应用程序对外依赖的动态链接库、接口集之间的交集、差集,根据结果的数据特征得到操作系统和应用程序的静态二进制兼容性结果。
步骤5:对评估结果进行封装,向开发者展现评估结果。
由于Linux发行版众多,一个应用程序可能不能与操作系统很好的兼容,即使Linux发行版一般都有比较完善的软件源和包管理器,但是在某些特定场景下(如涉密系统等)并不能使用,所以需要事先保证应用程序和操作系统的兼容性。linux-app-checker提供的应用程序依赖检测机制,可以检测到当前应用程序所对外依赖的动态链接库和接口,并得到是否符合LSB标准的结果,但是并不能应对某些场景下(如裁剪过的系统)的应用检测。本发明为开发者提供更多应用程序外部依赖的信息:不仅可以检测到应用程序对操作系统的直接依赖,而且基于一种递归策略实现检测应用程序的间接依赖,并且根据应用程序对外依赖和操作系统提供的资源的匹配程度进行了有效的兼容性分级评估。将兼容性进行分级可以帮助开发者清晰的了解应用程序与操作系统的兼容程度。软件开发者使用本发明在使用应用程序前对其进行静态二进制兼容性检测,可以在有限的时间内提前得到应用于系统的兼容性,并作出相应处理。
评估Linux应用程序与操作系统兼容性的方法,包括如下流程,如图1所示:
步骤1:进行操作系统数据分析,获取操作系统提供的所有动态链接库和接口信息,写入MySQL数据库:
在Linux操作系统中,默认动态链接库的搜索路径为”/usr/lib”和”/lib”,但是由于应用程序编译时可以指定库搜索路径,所以本发明将扫描操作系统的”/”路径,得到操作系统中所有的动态链接库,如图2所示。使用readelf实用程序解析动态链接库,读取其中的'.dynsym'段可以得到库所提供的函数接口信息。
步骤2:进行应用程序数据分析,获取应用程序所对外依赖的动态链接库和接口信息,写入MySQL数据库:
使用readelf实用工具对应用程序中的ELF(可执行链接文件)文件进行解析,通过读取其中的”Dynamic Section”只能得到应用程序直接依赖的动态链接库和直接依赖函数。所以本发明通过递归解析应用程序的依赖库可以得到应用程序依赖的所有动态链接库和接口,如图3所示。
步骤3:进行数据分析。将获取到的操作系统动态链接库、接口数据与应用程序对外依赖的动态链接库、接口数据进行对比分析,如图4。设应用程序对外依赖库集为NL,对外依赖接口集为NI,操作系统提供的动态链接库集为L,接口集为I,操作系统默认动态链接库搜索路径”/usr/lib”和”/lib”下的动态链接库集为SL。
1.若应用程序所对外依赖的动态链接库和接口中有记录在操作系统提供的动态链接库和接口信息中找不到,则应用程序可被标记为与操作系统静态二进制不兼容:
2.若应用程序所对外依赖的动态链接库和接口记录完全包含在操作系统所提供的动态链接库和接口信息中,并且这些外部依赖库的路径为”/usr/lib”或”/lib”,则标记该应用程序与操作系统静态二进制兼容:
3.若应用程序所对外依赖的动态链接库和接口记录完全包含在操作系统所提供的动态链接库和接口信息中,但是这些外部依赖库并非完全在”/usr/lib”或”/lib”路径下,则标记该应用程序与操作系统静态二进制潜在兼容:
(
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种评估Linux应用程序与操作系统兼容性的方法,其特征在于,包括以下步骤:
步骤1:对操作系统进行扫描,扫描路径选择“/”,得到操作系统在扫描路径“/”下的动态链接库集L;解析扫描路径“/”下的所有ELF文件,得到操作系统的接口集I;将操作系统在扫描路径“/”下的动态链接库集L和接口集I写入MySQL数据库;
步骤2:对操作系统进行扫描,扫描路径选择”/usr/lib”和”/lib”,得到操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL;解析扫描路径”/usr/lib”和”/lib”下的所有ELF文件,得到操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的接口集SI;将操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL和接口集SI写入MySQL数据库;
步骤3:输入待检测的Linux应用程序的扫描路径,对待检测的Linux应用程序进行扫描,获取待检测的Linux应用程序的所有ELF文件;对所有ELF文件进行解析,得到待检测的Linux应用程序的所有对外直接依赖的动态链接库和接口信息写入MySQL数据库;
步骤4:读取MySQL数据库中待检测的Linux应用程序直接依赖的动态链接库信息,获取相应的路径,对待检测的Linux应用程序在该路径下进行扫描并解析,得到待检测的Linux应用程序的对外二级依赖的动态链接库和接口信息;
步骤5:递归执行步骤4直到待检测的Linux应用程序所有依赖的动态链接库和接口全部已写入MySQL数据库,得到Linux应用程序的对外依赖的动态链接库集NL和接口集NI;
步骤6:基于MySQL数据库的数据查询功能,根据操作系统的动态链接库集L和接口集I与待检测的Linux应用程序的动态链接库集NL和接口集NI之间的交集和差集,获取待检测的Linux应用程序与操作系统的兼容性结果;
即待检测的Linux应用程序的动态链接库集NL和接口集NI中存在未记录在操作系统的动态链接库集L和接口集I中的中的信息,则判定Linux应用程序与操作系统静态二进制不兼容;
即待检测的Linux应用程序的动态链接库集NL和接口集NI中的信息全部包含在操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL和接口集SI中,则判定Linux应用程序与操作系统静态二进制兼容;
即待检测的Linux应用程序的动态链接库集NL和接口集NI中的信息全部包含在操作系统的动态链接库集L和接口集I中,但是这些外部依赖库并非完全在”/usr/lib”或”/lib”路径下,则判定Linux应用程序与操作系统静态二进制潜在兼容。
CN202110040663.6A 2021-01-13 2021-01-13 一种评估Linux应用程序与操作系统兼容性的方法 Active CN112835788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110040663.6A CN112835788B (zh) 2021-01-13 2021-01-13 一种评估Linux应用程序与操作系统兼容性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110040663.6A CN112835788B (zh) 2021-01-13 2021-01-13 一种评估Linux应用程序与操作系统兼容性的方法

Publications (2)

Publication Number Publication Date
CN112835788A CN112835788A (zh) 2021-05-25
CN112835788B true CN112835788B (zh) 2023-10-27

Family

ID=75927911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110040663.6A Active CN112835788B (zh) 2021-01-13 2021-01-13 一种评估Linux应用程序与操作系统兼容性的方法

Country Status (1)

Country Link
CN (1) CN112835788B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377429A (zh) * 2021-07-06 2021-09-10 北京字节跳动网络技术有限公司 安卓应用的运行方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019748A (zh) * 2013-01-15 2013-04-03 珠海金山办公软件有限公司 Linux下本地应用程序嵌入桌面窗体的方法及系统
CN105094870A (zh) * 2014-05-13 2015-11-25 中标软件有限公司 64位Linux操作系统兼容32位应用软件的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8887122B2 (en) * 2010-11-23 2014-11-11 Red Hat, Inc. Find and track information of interface usage of software libraries by other software
CN102736972B (zh) * 2011-03-30 2016-03-09 国际商业机器公司 对待测试应用的测试例进行处理的方法和系统
CN104503880A (zh) * 2014-12-16 2015-04-08 新余兴邦信息产业有限公司 一种MySQL数据库监控选项脚本的实现方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019748A (zh) * 2013-01-15 2013-04-03 珠海金山办公软件有限公司 Linux下本地应用程序嵌入桌面窗体的方法及系统
CN105094870A (zh) * 2014-05-13 2015-11-25 中标软件有限公司 64位Linux操作系统兼容32位应用软件的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于依赖要素比对的国产操作系统兼容性测试方法;陈鹏;陈丽容;高艳鹍;李洪波;;计算机工程与设计(第10期);全文 *

Also Published As

Publication number Publication date
CN112835788A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CA2522605C (en) Method and system for detecting vulnerabilities in source code
US7987456B2 (en) Qualitatively annotated code
US7398516B2 (en) Method and system for detecting race condition vulnerabilities in source code
KR101159365B1 (ko) 소스 코드 정적 분석 시뮬레이터를 위한 커스텀 api 모델링
US7493596B2 (en) Method, system and program product for determining java software code plagiarism and infringement
US7975256B2 (en) Optimizing application performance through data mining
US9645912B2 (en) In-place function modification
US20060212847A1 (en) Type checker for a typed intermediate representation of object-oriented languages
US7155703B2 (en) Virtual method protection
US20090235284A1 (en) Cross-platform compatibility framework for computer applications
US20060101435A1 (en) Detection of code patterns
Sui et al. On the soundness of call graph construction in the presence of dynamic language features-a benchmark and tool evaluation
US20100299659A1 (en) Attribute based method redirection
CN111428233B (zh) 一种嵌入式设备固件的安全性分析方法
Murphy-Hill et al. Discovering API usability problems at scale
CN112835788B (zh) 一种评估Linux应用程序与操作系统兼容性的方法
US11868465B2 (en) Binary image stack cookie protection
US7539975B2 (en) Method, system and product for determining standard Java objects
Kim et al. Assessing test set adequacy for object oriented programs using class mutation
US7647581B2 (en) Evaluating java objects across different virtual machine vendors
Korsman et al. A tool for analysing higher-order feature interactions in preprocessor annotations in C and C++ projects
CN118094533A (zh) 一种应用的风险识别方法和装置
Yoon et al. A Hidden File Extraction Scheme Defeating Malware Using Android Dynamic Loading
CN114153706A (zh) 一种iOS应用启动时执行load方法的耗时检测方法及终端
CN116795677A (zh) 一种测试方法、终端设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant