Control-flow analysis

Source: Wikipedia, the free encyclopedia.

In

object-oriented programming languages, the term CFA, and elaborations such as k-CFA, refer to specific algorithms that compute control flow.[dubiousdiscuss
]

For many

interprocedural control-flow analysis implicitly usually refers to a static analysis technique for determining the receivers of function or method calls in computer programs written in a higher-order programming language.[dubiousdiscuss] For example, in a programming language with higher-order functions like Scheme
, the target of a function call may not be explicit: in the isolated expression

(lambda (f) (f x))

it is unclear to which procedure f may refer. A control-flow analysis must consider where this expression could be invoked and what argument it may receive to determine the possible targets.

Techniques such as

constraint solving, and type systems may be used for control-flow analysis.[1][page needed
]

See also

References

  1. ^ Nielson, Flemming; Nielson, Hanne Riis; Hankin, Chris (2005). Principles of Program Analysis. Springer Science+Business Media.

External links