该文在过程内剖析技术的基础上提出了一种新的过程间路径剖析方法PIP,能够精确地编码过程间路径和方法级执行序列.为了有效地处理方法间多态等复杂调用,文中提出了一种新的剖析模型 PCCG (Polymorphic Cluster Call Graph),能够精确描述多态信息,并且支持以“方法集簇”的方式对多个被调用方法统一处理,简化调用结构,减少剖析耗费.基于PCCG模型,PIP方法能够精确地进行过程间路径剖析,并可采用多种方法集簇策略来优化剖析效率.理论分析和实验结果表明,PIP方法具有较高的精确性和循环处理能力,且各种集簇策略能够适应不同的应用情况,有效地提升效率.
This paper presents a novel method (called PIP) for profiling inter procedural paths with loops, which extends previous work on intra-procedural profiling. PIP can be used to uniquely encode inter-procedural flows and method sequences, based on an inter-procedural con- trol flow model, PCCG (Polymorphic Cluster Call Graph). PCCG can deal with polymorphism, support clustering of procedures for better analysis, and improve efficiency. Theoretical analysis and experimental results show that different clustering strategies of PCCG achieve different levels of efficiency under different situations. Suggestion on how to choose a proper clustering strategy is derived from the empirical study. Compared with existing work, PIP can accurately profile more paths, and is more practical for programs with loops.