【技术实现步骤摘要】
本专利技术涉及数据分析技术,更具体地说,涉及用于控制流分析的方法和设备。
技术介绍
控制流分析(control flow analysis)是对计算机程序进行性能分析的一个重要环节。控制流分析的基础是计算机程序的各函数之间的调用关系。本领域技术人员可以理解,这里所说的函数,指的是能够独立完成一定功能的代码单元,在某些场合下也可以称为方法等。调用函数向被调用函数传递参数,被调用函数对所述参数进行计算,然后将计算结果返回给调用函数。通常将函数调用关系记录下来用函数调用树(Call Tree)来表示。在函数调用树中,父节点表示调用函数,子节点表示被调用函数。使用函数调用树来表示函数之间的调用关系有助于确定被频繁调用的函数以及CPU时间开销过高的函数,从而确定程序的性能瓶颈,进而改进程序的性能。例如,对频繁被调用的函数,可以采用更加复杂的优化算法进行优化,或减少调用次数。如今的程序大多包含复杂的业务逻辑,其对应的函数调用树本身非常庞大。例如,企业级的应用程序通常包含超过10万的调用和超过200的调用层级。由于这类应用程序非常复杂,在真正的业务逻辑之外还存在很多辅助软件模 ...
【技术保护点】
一种用于控制流分析的方法,该方法包括:获取程序的原始函数调用树,其中所述原始函数调用树的节点表示函数,节点之间的父子关系表示调用关系;根据所述调用关系生成对应的函数支配树,其中函数支配树的节点表示函数,节点之间的父子关系表示支配关系,其中如果对第二函数的调用都由第一函数发起,则第一函数支配第二函数;根据所述函数支配树对所述原始函数调用树进行简化从而得到简化函数调用树。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘峰,梁祺,陈沁悦,林鸿昌,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。