Static analysis 控制流图和调用(流?)图之间的实际差异?

Static analysis 控制流图和调用(流?)图之间的实际差异?,static-analysis,control-flow,call-flow,Static Analysis,Control Flow,Call Flow,维基百科有一个定义。我也听到过关于“调用(流?)图”的术语,但找不到任何相关资源。两者之间的关系是什么?维基百科将a定义为程序中子程序之间调用关系的表示。在调用图中,两个节点f和g之间的边: f --> g 表示子程序f调用子程序g的事实。调用图提供程序的过程间视图 控制流图(CFG)为整个程序的结构,特别是子程序的结构提供了更精细的“细节”。例如,子例程f的CFG将显式显示由条件分支诱导的所有路径: / branch

维基百科有一个定义。我也听到过关于“调用(流?)图”的术语,但找不到任何相关资源。两者之间的关系是什么?

维基百科将a定义为程序中子程序之间调用关系的表示。在调用图中,两个节点
f
g
之间的边:

      f --> g
表示子程序
f
调用子程序
g
的事实。调用图提供程序的过程间视图

控制流图(CFG)为整个程序的结构,特别是子程序的结构提供了更精细的“细节”。例如,子例程
f
的CFG将显式显示由条件分支诱导的所有路径:

                             / branch1 \
    begin --> condition -->             --> codeblock --> g --> end
                             \ branch2 /

此类CFG用于构建子程序的过程内视图。

调用图(CG)控制流图(CFG)由节点和边组成CG是过程间的,节点表示子例程(方法、函数等),边表示调用方在两个子例程之间调用的关系(例如,A->B,“A”是调用方子例程,“B”是调用方子例程)CFG是过程内的,节点表示程序语句,包括被调用的子例程,但也包括条件语句,而边表示程序流。当CGCFG组合时,它被称为过程间控制流图(ICFG)CFG生成比CG
资源密集,但更详细。

我不认为“调用流图”是一个标准术语。你在哪里偶然发现的?我想OP的意思是“呼叫图”。+1来自我。。顺便说一句,我不会使用维基百科上的定义作为权威。