[发明专利]选取覆盖所有源代码结构的最小代码子集的方法有效

专利信息
申请号: 201711122407.1 申请日: 2017-11-14
公开(公告)号: CN109783344B 公开(公告)日: 2022-02-18
发明(设计)人: 钱杰;王影;刘卉;殷锴 申请(专利权)人: 中国航发商用航空发动机有限责任公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 上海专利商标事务所有限公司 31100 代理人: 骆希聪
地址: 200241 上*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 选取 覆盖 所有 源代码 结构 最小 代码 子集 方法
【权利要求书】:

1.一种选取覆盖所有源代码结构的最小代码子集的方法,其包括:

a.将待分析软件的源代码按照高级语言、汇编语言和库函数进行分类,得到高级语言代码集合、汇编代码集合和库函数集合;

b.对所述高级语言代码集合中的每个函数分析语法结构和编译过程中可能产生附加代码的结构,在确保所述各结构至少被覆盖一次的条件下选出使源代码目标码对比分析的工作量最小的典型结构代码子集;以及

c.合并所述典型结构代码子集、所述汇编代码集合和所述库函数集合,以得到所述待分析软件的所述最小代码子集;

其中,步骤b包括:

b1.对所述每个函数分析语法结构和编译过程中可能产生附加代码的结构,形成所述每个函数与各结构的追溯关系表;

b2.对所述各结构进行分类、统一编号,同类结构的编号全局唯一,同时记录所述每个函数对应的源代码目标码对比分析的所述工作量;

b3.对所述每个函数的结构编号进行汇总,形成具有结构类别编号、所述工作量的源代码结构分析表;

b4.根据所述源代码结构分析表构造结构-函数矩阵;

b5.在确保所述各结构至少被覆盖一次的条件下,根据所述结构-函数矩阵和所述每个函数对应的所述工作量构建数学模型;以及

b6.对所述数学模型进行求解,选取出使所述工作量最小的所述典型结构代码子集。

2.根据权利要求1所述的方法,其特征在于,在步骤b1中,对所述每个函数分析语法结构包括分析函数的返回类型、参数类型、参数个数、基本类型、构造类型、预处理、运算符、过程控制类型和嵌套次数中的一个或多个。

3.根据权利要求1所述的方法,其特征在于,在步骤b1中,对所述每个函数分析可能产生附加代码的结构包括分析编译器对代码结构上的处理和/或对代码运行时产生异常的处理。

4.根据权利要求3所述的方法,其特征在于,所述编译器对代码结构上的处理包括数组处理、隐式调用库函数和循环结构处理中的一个或多个。

5.根据权利要求1所述的方法,其特征在于,所述结构-函数矩阵为:

其中,A为结构-函数矩阵,m为结构的个数,n为函数的个数,τ012,…,τm-1表示所有函数对应的结构,f0,f1,f2,…,fn-1表示函数,zp,q取值1或0,当取值为1时,代表函数fp覆盖结构τq,当取值为0时,代表函数fp未覆盖结构τq,其中p=0,1,…m-1,q=0,1,…n-1。

6.根据权利要求5所述的方法,其特征在于,所述数学模型如下:

其中,L=[L0,L1,…,Ln-1],Ly为分析函数fy时的所述工作量,y=0,1,…,n-1;X=[X0,X1,…,Xn-1]T,Xi取值1或0,当取值为1时,代表选择函数fi放入所述典型结构代码子集,当取值为0时,代表选择函数fi不放入所述典型结构代码子集,i=0,1,…,n-1,[]T代表矩阵转置;bm×1=[1,1,…,1]T

7.根据权利要求6所述的方法,其特征在于,根据所述数学模型求解X,将X中元素为1对应的所述函数放入所述典型结构代码子集。

8.根据权利要求1所述的方法,其特征在于,所述工作量为所述函数的源代码的行数。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航发商用航空发动机有限责任公司,未经中国航发商用航空发动机有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711122407.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top