基于Linux系统的程序ABI接口兼容性计算方法技术方案

技术编号:33478905 阅读:77 留言:0更新日期:2022-05-19 00:53
本发明专利技术涉及计算机科学技术领域,具体涉及基于Linux系统的程序ABI接口兼容性计算方法,包括如下步骤:S1、从Linux系统中程序的ELF格式文件中解析出ABI接口信息;S2、将所述ABI接口信息的数据根据属性差异区分为数据类型信息、符号信息和ELF文件通用信息三个类别,基于不同类别数据特征设计对应的数据存储结构进行数据管理;S3、基于数据兼容性比较算法,对不同程序的ABI接口信息进行数据类型、符号和ELF文件通用信息三个方面的比较,基于比较计算得出兼容性计算标准,所述兼容性计算标准用于计算所述程序的ABI接口兼容性。该方法有助于从程序接口维度分析软件更新迭代的整体质量,降低由于ABI接口差异变化引发的程序运行故障或异常,提高软件系统的稳定性。提高软件系统的稳定性。提高软件系统的稳定性。

【技术实现步骤摘要】
基于Linux系统的程序ABI接口兼容性计算方法


[0001]本专利技术涉及计算机科学
,具体涉及一种基于Linux系统的程序ABI接口兼容性计算方法。

技术介绍

[0002]随着信息化时代的到来,计算机科学领域的高速发展,软件程序的开发迭代速度正愈发增长,以此为用户带来更多的服务功能与更好的操作体验。随之而来的则是软件系统的体量逐渐庞大,衍生出的软件功能与服务接口越来越多。然而随着软件开发的不断演进,软件系统中程序间服务接口的变化所引发的兼容性问题将变得难以预估,由此造成的运行故障也时有发生。这类故障多是产生于程序运行期间软件系统中的运行异常、功能错误等,且问题定位与修复需要人工排查,因此造成了大量的经济损失与人力消耗。为此需要一种方法,其能够在程序运行工作前检查出软件系统中各应用程序间接口的兼容性,用于评估是否有接口变化以及变化的影响,做到风险的提前识别与处理,保障软件系统运行的功能正常且稳定。
[0003]软件系统多是基于计算机操作系统之上运行的。目前主流的计算机操作包括Linux、Windows等,其中Linux操作系统以本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于Linux系统的程序ABI接口兼容性计算方法,其特征在于,包括如下步骤:S1、从Linux系统中程序的ELF格式文件中解析出ABI接口信息;S2、将所述ABI接口信息的数据根据属性差异区分为数据类型信息、符号信息和ELF文件通用信息三个类别,基于不同类别数据特征设计对应的数据存储结构进行数据管理;S3、基于数据兼容性比较算法,对不同程序的ABI接口信息进行数据类型、符号和ELF文件通用信息三个方面的比较,基于比较计算得出兼容性计算标准,所述兼容性计算标准用于计算所述程序的ABI接口兼容性。2.根据权利要求1所述的基于Linux系统的程序ABI接口兼容性计算方法,其特征在于,步骤S1还包括:在解析出ABI接口信息之前,验证所述ELF格式文件中是否包含debuginfo信息,若所述ELF格式文件中未包含,则在所述ELF格式文件中添加对应的.debug文件进行关联解析操作。3.根据权利要求1所述的基于Linux系统的程序ABI接口兼容性计算方法,其特征在于,步骤S1具体包括:首先,通过objdump命令对所述ELF格式文件进行反汇编后获取源码信息,同时使用ctags、eu

readelf及nm命令获取第一数据信息,所述第一数据信息包括符号表、依赖库、ABI接口的数据信息及各函数间地址偏移量;然后,通过遍历所述符号表,以获取第二数据信息,所述第二数据信息包括与符合关联的数据变量的名称、类型、所属源文件及头文件信息;最后,将所述第一数据信息和所述第二数据信息整合,生成所述ABI接口信息。4.根据权利要求1所述的基于Linux系统的程序ABI接口兼容性计算方法,其特征在于,步骤S2具体包括:所述数据类型信息根据类型差异分为通用数据类型、typedef数据类型、结构数据类型、函数数据类型四种子类型,并对所述四种子类型各自采用不同的列表式存储结构进行储存。5.根据权利要求1所述的基于Linux系统的程序ABI接口兼容性计算方法,其特征在于,步骤S2还包括:所述符号信息的...

【专利技术属性】
技术研发人员:蔡祎男刘峯郭建兴刘吉林
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1