[发明专利]用于计算过程间支配者的系统和/或方法有效
申请号: | 201480043022.4 | 申请日: | 2014-06-26 |
公开(公告)号: | CN105431825B | 公开(公告)日: | 2019-01-18 |
发明(设计)人: | A·阿巴迪;M·阿巴迪;J·布纳亚胡;Y·费尔德曼 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅;陈颖 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 计算 过程 支配者 系统 方法 | ||
1.一种针对在软件程序的多个函数之间的支配关系而分析所述软件程序的代码的计算机化的方法,所述方法包括:
接收软件程序的源代码,所述源代码具有多个函数;
标识各自用于所述多个函数中的另一函数的多个过程内支配者图;
组合所述多个过程内支配者图以创建具有在所述多个函数的节点之间逻辑地连接的边的过程间支配图;
使用所述过程间支配图来标识在所述多个函数中的不同函数中的节点之间的多个过程间支配关系;以及
根据所述多个过程间支配关系分析所述软件程序,
所述方法还包括:
标识所述过程内支配者图中的一个或者多个过程间支配候选;
针对所述过程间支配候选中的每个过程间支配候选来计算过程间支配者集合;并且
其中组合包括通过在所述一个或者多个过程间支配候选与来自所述过程间支配者集合的一个或者多个支配者之间逻辑地添加过程间边,来计算所述过程间支配图。
2.根据权利要求1所述的计算机化的方法,还包括:
标识所述多个函数的过程间控制流图;并且
其中所述过程间支配候选包括节点,所述节点是在所述过程间控制流图中具有多于一个前代的函数入口,并且所述节点在恢复节点的支配前界中或者所述节点在另一过程间支配候选的支配前界中。
3.根据权利要求1所述的计算机化的方法,其中组合包括针对每个过程间支配候选并行计算过程间支配者集合。
4.根据权利要求1所述的计算机化的方法,还包括对所述多个函数中的一个或者多个函数做出局部化的改变,仅针对改变的所述一个或者多个函数的受影响的过程间支配候选重新计算过程间支配者集合,以及仅重新连接受影响的节点。
5.根据权利要求1所述的计算机化的方法,其中所述过程间支配图在所述组合所述多个过程内支配者图以创建所述过程间支配图的中间时段期间表示正确支配关系。
6.根据权利要求1所述的计算机化的方法,还包括高速缓存计算的过程间支配者集合的数据,从而高速缓存的所述数据可用于后续支配者计算。
7.根据权利要求1所述的计算机化的方法,其中组合包括通过添加将具有单个调用地点的函数的调用节点连接到所述函数的入口节点的边来创建所述过程间支配图。
8.根据权利要求1所述的计算机化的方法,其中组合包括通过添加将每个函数出口节点连接到所述函数可以返回到的每个恢复节点的边来创建所述过程间支配图。
9.根据权利要求1所述的计算机化的方法,其中计算所述过程间支配者集合包括按需计算用于所述过程间支配候选之一的所述过程间支配者集合。
10.根据权利要求1所述的计算机化的方法,还包括从所述过程间支配图去除额外边,其中所述额外边概括已经在所述过程间支配图中存在的过程间边。
11.根据权利要求2所述的计算机化的方法,还包括向所述过程间控制流图添加阻塞节点的集合,从而所述计算节点并未追踪循环路径。
12.根据权利要求1所述的计算机化的方法,其中所述多个函数的一个或者多个函数调用是多形态的。
13.根据权利要求1所述的计算机化的方法,其中所述过程间支配者图是过程内支配者树。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480043022.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于检测受损计算系统的系统与方法
- 下一篇:色调剂粘合剂和色调剂