Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

Control-flow analysis

String Algorithm

Control-flow analysis, often shortened to CFA, is a static code analysis technique for determining the control flow of a program, which is expressed as a control-flow graph. For functional and object oriented languages the term, and refinements such as k-CFA, names specific algorithms that compute control flow. In many imperative languages the control flow is explicit in the source text, so interprocedural control-flow analysis usually means working out the possible receivers of function or method calls in a language with higher order functions. In a language such as Scheme the target of a call may not be visible, because an expression may be invoked from several places with different arguments, so the analysis must consider where it can be reached and what values it can receive. Abstract interpretation, constraint solving and type systems are among the techniques used to carry it out.

Facts
Problem Solved
Determining the control flow of a program 1
Connections

In Field

Source Control-flow analysis (Wikipedia)
Sources
1. Control-flow analysis (Wikipedia)
  • Lead, control flow
    is a static-code-analysis technique for determining the control flow of a program
  • In Group: Sequence and Code Analysis Algorithms, Lead
    is a static-code-analysis technique for determining the control flow of a program
  • In Field: Programming Language Theory, Lead, static analysis
    is a static-code-analysis technique for determining the control flow of a program
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.