[发明专利]一种处理软件代码的方法和电子设备在审

专利信息
申请号: 202111300044.2 申请日: 2021-11-04
公开(公告)号: CN114003868A 公开(公告)日: 2022-02-01
发明(设计)人: 王喆;武成岗;张培华;曾凯 申请(专利权)人: 中国科学院计算技术研究所
主分类号: G06F21/14 分类号: G06F21/14
代理公司: 北京泛华伟业知识产权代理有限公司 11280 代理人: 王勇
地址: 100190 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 处理软件 代码 方法 电子设备
【权利要求书】:

1.一种处理软件代码的方法,其特征在于,包括:

获取待处理的软件代码,构建所述软件代码的控制流图;

根据所述控制流图和预设的处理逻辑,对所述软件代码中选定的函数进行拆分处理和/或聚合处理以改变控制流图的原有结构,其中,所述拆分处理是将一个函数裂变成多个函数,将函数内控制流关系转变成函数间调用关系,所述聚合处理是将多个函数聚合成一个函数。

2.根据权利要求1所述的方法,其特征在于,对所述软件代码中相应的函数先进行拆分处理,后进行聚合处理。

3.根据权利要求1或2所述的方法,其特征在于,所述拆分处理包括:

将一个原函数拆分为多个函数,其中一个函数留用原函数名,为其他函数分别分配唯一的函数名;

基于留用的原函数名以及其他函数获得的唯一的函数名,将拆分前的控制流关系改为函数间的调用关系。

4.根据权利要求3所述的方法,其特征在于,所述拆分处理还包括:

针对拆分出的其他函数中未定义的临时变量和/或全局变量,在拆分出的函数中添加Caller函数,以在执行时通过Caller函数将所需的临时变量和/或全局变量从当前拆分出的其他函数对应的留用原函数名的函数中传递过来;以及

针对拆分出的其他函数中标量,根据其对应原函数中记录的值进行重新定义。

5.根据权利要求1或2所述的方法,其特征在于,所述拆分处理包括:进行拆分时获取用户指定的拆分粒度,以支配子树、循环、分支、基本块、指令或者其组合对应的粒度进行拆分。

6.根据权利要求1或2所述的方法,其特征在于,所述拆分处理包括:对拆分出的函数在软件代码中的位置进行随机重排。

7.根据权利要求1或2所述的方法,其特征在于,所述聚合处理包括:

收集当前的软件代码中的聚合参考信息,其包括函数间的调用关系、函数是否与递归相关;

根据所述聚合参考信息,在忽略与递归相关的函数的情况下,对当前的软件代码中的函数进行聚合处理。

8.根据权利要求7所述的方法,其特征在于,所述聚合参考信息还包括:函数是否与循环相关,所述聚合处理包括:

根据热代码分析技术分析各个函数的热度,对热度低于第一阈值的与循环相关的函数以及热度低于第二阈值的与循环无关的函数进行聚合处理,其中,第一阈值小于等于第二阈值。

9.根据权利要求7所述的方法,其特征在于,所述聚合处理包括:

将至少两个函数聚合为一个聚合函数,为聚合函数分配唯一的函数名以及为聚合前的至少两个函数分别分配在该聚合函数内唯一的分支标签;

将需要直接调用聚合函数中某个分支的调用函数中对聚合前的函数的调用修改为对聚合函数及其分支的调用。

10.根据权利要求7所述的方法,其特征在于,所述聚合处理包括:

将至少两个函数聚合为一个聚合函数,为聚合函数分配唯一的函数名以及为聚合前的至少两个函数分别分配在该聚合函数内唯一的分支标签;

对所有函数进行字节对齐处理以使函数指针中的部分比特位处于闲置状态;

在需要间接调用某个函数的调用者中插入预定的赋值函数以将调用控制信息加入调用者的函数指针中,其中,调用控制信息中包括指示被调函数是否为聚合函数以及在聚合函数内的分支标签;

在所有的间接调用点插入用于对调用控制信息进行解析的解析代码,其中,在解析到需要间接调用聚合函数时,通过解析代码将计算所需参数以及指针中记载的分支标签传递给被调用的聚合函数。

11.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至10中任一项所述方法的步骤。

12.一种电子设备,其特征在于,包括:

一个或多个处理器;以及

存储器,其中存储器用于存储可执行指令;

所述一个或多个处理器被配置为经由执行所述可执行指令以实现权利要求1至10中任一项所述方法的步骤。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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