[发明专利]航空机载软件的源码和目标码对比分析方法及系统有效
申请号: | 201810697601.0 | 申请日: | 2018-06-29 |
公开(公告)号: | CN110659200B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 王影;钱杰;刘卉;殷锴 | 申请(专利权)人: | 中国航发商用航空发动机有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41;G06F8/53 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 骆希聪 |
地址: | 200241 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 航空 机载 软件 源码 目标 对比 分析 方法 系统 | ||
1.一种航空机载软件的源码和目标码对比分析方法,包括以下步骤:
确定用于语法特征间的等价和包含关系的通用判断准则;
基于所述通用判断准则选择源文件中源代码的典型语法结构及代码子集;
编译所述代码子集以生成目标文件;以及
对所述目标文件反汇编以生成源码、汇编代码交叉对照列表;
其中,基于所述通用判断准则选择源代码的典型语法结构及代码子集的步骤包括:
获得包含语法结构的源文件结构分析表;
依据所述通用判断准则,划分语法结构等价类并进行编号;
以指标可量化的语法结构为关键词,对源代码中的所有函数降序排列,建立等价关系链表和包含关系链表,对所述等价关系链表和所述包含关系链表进行统一编号;以及
循环处理所述包含关系链表,以选取典型语法结构和代码子集。
2.根据权利要求1所述的方法,其特征在于,所述目标文件包含调试信息。
3.根据权利要求1所述的方法,其特征在于,获得包含语法结构的源文件结构分析表的步骤包括:
建立多个对照表,所述多个对照表包括:函数名与源文件的对照表,构造类型与分量类型的偏序关系对照表,变量名与数据类型、存储类别的对照表,数据类型、运行控制、存储类别、运算符与所属函数的对照表;
创建源文件结构分析表,在所述源文件结构分析表中为每个函数分配一个表单,为每种语法结构类型创建一个属性列,其中所述语法结构类型包括编程指标和静态分析指标;
识别各函数的编程指标和静态分析指标,并录入函数所属表单的同名结构属性列中;
利用所述源文件结构分析表生成完整的结构分析总表;以及
将语法结构统一编号后录入到所述源文件结构分析表中。
4.根据权利要求1所述的方法,其特征在于,循环处理所述包含关系链表,以选取典型语法结构和代码子集的步骤包括:
将包含层级最高的等价类作为典型语法结构,如果该等价类所属等价关系链表中已有某语法结构被标注为已覆盖,则将该等价类所属等价关系链表中所有语法结构均标注为已覆盖;否则从该等价类中选出包含未覆盖的其他语法结构包含关系链表种类最多的函数纳入代码子集,在该函数所属源文件结构分析表中将该函数“是否选为代码子集”属性列置为“是”,同时将该函数已覆盖的节点所属等价关系链表的其他所有节点标注为已覆盖;
对典型代码子集外的其他函数按照包含未覆盖等价关系链表数目多少进行降序排序,将包含未覆盖的语法结构等价关系链表种类最多的函数纳入代码子集,直到所有等价类中的语法结构全部覆盖为止;以及
汇总所述源文件结构分析表中“是否选为代码子集”属性列为“是”的函数,得到典型语法结构的代码子集。
5.根据权利要求3所述的方法,其特征在于,所述构造类型包括数组、结构体、位段、共用体。
6.根据权利要求3所述的方法,其特征在于,还包括对于未定义等价/包含关系准则、或不存在等价/包含关系的语法结构,直接选取为典型语法结构。
7.根据权利要求2所述的方法,其特征在于,包括将目标文件与调试信息格式文件进行链接以生成易于解析的目标文件。
8.根据权利要求1所述的方法,其特征在于,还包括呈现所述源码、汇编代码交叉对照列表用于人工分析。
9.一种航空机载软件的源码和目标码对比分析系统,包括处理器、存储器存储于所述存储器中的计算机可执行指令,其中所述处理器执行所述计算机可执行指令以实现如权利要求1-8任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航发商用航空发动机有限责任公司,未经中国航发商用航空发动机有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810697601.0/1.html,转载请声明来源钻瓜专利网。