一种基于鸿蒙系统的软件接口兼容性静态检测方法

文档序号:37931734发布日期:2024-05-11 00:10阅读:8来源:国知局
一种基于鸿蒙系统的软件接口兼容性静态检测方法

本发明是关于软件缺陷检测领域,特别涉及一种基于鸿蒙系统的软件接口兼容性静态检测方法及应用。


背景技术:

1、鸿蒙系统是华为公司推出的全场景分布式操作系统,旨在为各种设备提供统一的操作体验和开发框架。目前,随着鸿蒙系统越来越被大众所接受,有越来越多的开发者从安卓转向鸿蒙系统的软件开发。但是由于鸿蒙系统目前处于刚刚起步阶段,所以会有快速而大量的系统软件开发工具包被更新,这意味着可能存在许多的接口兼容性问题。接口兼容性问题的存在会导致软件使用过程中的用户体验差,所以这一问题亟需解决。

2、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现思路

1、本发明的目的在于提供一种基于鸿蒙系统的软件接口兼容性静态检测方法,解决目前缺少检测鸿蒙系统软件中存在的接口兼容性问题的技术这一问题。

2、为实现上述目的,本发明的实施例提供了一种基于鸿蒙系统的软件接口兼容性静态检测方法。

3、在本发明的一个或多个实施方式中,所述方法包括:获取鸿蒙系统所有公开应用的软件开发工具包;获取鸿蒙系统官方网站上提供的所有java语言的正式版本的软件开发工具包,将其根据系统版本进行分类;提取出每个系统版本的软件开发工具包中的接口文件,并按照返回值、函数名称、函数参数类型进行排序。

4、在本发明的一个或多个实施方式中,所述方法包括:获取鸿蒙系统所有公开应用的软件开发工具包;将所有系统版本的接口文件按照版本顺序输入到软件中;软件依次读取接口文件,记录所有出现过的接口以及接口出现过的版本,最终输出含有所有接口出现版本和删除版本的生命周期文件。

5、在本发明的一个或多个实施方式中,所述方法包括通过使用状态调用图的方法提取出待检测软件中所有调用的鸿蒙接口信息;获取待检测鸿蒙软件的hap文件,将其解压缩后提取其dex文件,将dex文件作为主要的检测目标。获取待检测鸿蒙软件的hap文件,解压缩后读取其config.json文件,获取软件的目标版本和编译版本等信息。

6、在本发明的一个或多个实施方式中,所述方法包括通过使用状态调用图的方法提取出待检测软件中所有调用的鸿蒙接口信息;提取出dex文件后,使用状态调用图,按软件执行顺序读取jimple中间代码;当读取到在接口列表中的接口时,根据状态调用图的结果判断当前接口是否受保护;若接口受保护,获取接口名称及接口保护范围;若接口不受保护,仅获取接口名称;通过该方法获取dex文件中所有调用了的系统接口名称。

7、在本发明的一个或多个实施方式中,所述方法包括通过使用状态调用图的方法提取出待检测软件中所有调用的鸿蒙接口信息;将代码中存在的检测当前系统版本范围的代码进行标记,并存储保护的范围;检测范围内的接口视作被受保护的,检测范围外的接口视作不受保护;受保护的代码部分在被获取时需要分别判断受保护状态下和不受保护状态下是否符合兼容性条件。

8、在本发明的一个或多个实施方式中,所述方法包括通过使用状态调用图的方法提取出待检测软件中所有调用的鸿蒙接口信息;兼容性问题是指在软件开发中,由于接口的设计或实现发生变化,导致不同版本的软件不能在特定版本的系统下工作;兼容性问题包括向前兼容性问题和向后兼容性问题;向前兼容性问题是指特定接口在后续版本的系统接口中被提出,无法在旧版本的系统上运行该接口;向后兼容性问题是指特定接口在后续版本的系统接口中被删除,无法在新版本的系统上运行该接口。

9、在本发明的一个或多个实施方式中,所述方法包括根据接口生命周期,对接口进行分析,提取其中存在兼容性问题的接口;根据步骤2得到的软件调用接口和步骤1所得到的接口生命周期。我们从生命周期中提取出每一个调用接口的生命周期,与当前软件所设置的版本进行对比,若当前版本不在生命周期范围中,那么视为兼容性问题;否则视为正常;若接口是受保护的,那么需要分别判断受保护的情况下是否在生命周期范围中;以及另一种情况下是否在生命周期范围中。

10、在本发明的一个或多个实施方式中,所述方法包括提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的基于鸿蒙系统的软件接口兼容性静态检测方法的方法。

11、在本发明的一个或多个实施方式中,所述方法包括提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的基于鸿蒙系统的软件接口兼容性静态检测方法的步骤。



技术特征:

1.一种基于鸿蒙系统的软件接口兼容性静态检测方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的基于鸿蒙系统的软件接口兼容性静态检测方法,其特征在于,步骤1所述的获取鸿蒙系统所有公开应用的软件开发工具包,根据接口名称与版本生成鸿蒙系统所有的接口生命周期,包括:

3.根据权利要求1所述的基于鸿蒙系统的软件接口兼容性静态检测方法,其特征在于,步骤2所述的通过使用状态调用图的方法提取出待检测软件中所有调用的鸿蒙接口信息,包括:

4.根据权利要求1所述的基于鸿蒙系统的软件接口兼容性静态检测方法,其特征在于,步骤2所述的通过使用状态调用图的方法提取出待检测软件中所有调用的鸿蒙接口信息,包括:

5.根据权利要求1所述的基于鸿蒙系统的软件接口兼容性静态检测方法,其特征在于,步骤2所述的通过使用状态调用图的方法提取出待检测软件中所有调用的鸿蒙接口信息,包括:

6.根据权利要求3所述的基于鸿蒙系统的软件接口兼容性静态检测方法,其特征在于,步骤2所述的状态调用图,包括:

7.根据权利要求1所述的基于鸿蒙系统的软件接口兼容性静态检测方法,其特征在于,步骤3所述的兼容性问题,包括:

8.如权利要求1所述的基于鸿蒙系统的软件接口兼容性静态检测方法,其特征在于,步骤3所述的根据接口生命周期,对接口进行分析,提取其中存在兼容性问题的接口,包括:

9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~8中任一项所述的方法。

10.一种计算机可读存储设备,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~8中任一项所述的方法。


技术总结
本发明公开了一种基于鸿蒙系统的软件接口兼容性静态检测方法及应用。该方法包括以下步骤:获取鸿蒙系统所有公开应用的软件开发工具包,根据接口名称与版本生成鸿蒙系统所有的接口生命周期;通过使用状态调用图的方法提取出待检测软件中所有调用的鸿蒙接口信息;根据接口生命周期,对接口进行分析,提取其中存在兼容性问题的接口。该发明收集了大量的鸿蒙软件并对其进行检测,结果表明,本发明提出的基于鸿蒙系统的软件接口兼容性静态检测方法能够有效的提取出兼容中的兼容性问题。

技术研发人员:刘亮,马添梽
受保护的技术使用者:南京航空航天大学
技术研发日:
技术公布日:2024/5/10
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1