Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am doing research on control flow analysis on aspect oriented programs and I found in some papers an interprocedural approach for doing control flow analysis on others call graph or control flow graph. Is there a real difference between control flow graphs and interprocedural control flow graphs?

share|cite|improve this question
up vote 4 down vote accepted

inter-procedural view of a program makes use of call graph as a representation of the calling relationships between subroutines in a program. In a call graph, an edge between two nodes f and g:

  f --> g

represents the fact that subroutine f calls subroutine g.

A control flow graph (CFG) provides finer "details" into the structure of the program as a whole, and of the subroutines in particular. For instance, the CFG of a subroutine f will make explicit all of the paths that are induced by a conditional branch:

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

This kind of CFG is used to build an intra-procedural view of a subroutine.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.