Control-flow analysis
Appearance
This article may need to be rewritten to comply with Wikipedia's quality standards. (July 2014) |
In
object-oriented programming languages, the term CFA, and elaborations such as k-CFA, refer to specific algorithms that compute control flow.[dubious – discuss
]
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.[dubious – discuss] 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
]See also
- Control-flow diagram (CFD)
- Data-flow analysis
- Cartesian product algorithm
- Pointer analysis
References
- ^ Nielson, Flemming; Nielson, Hanne Riis; Hankin, Chris (2005). Principles of Program Analysis. Springer Science+Business Media.
External links
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
Wikimedia Commons has media related to Control-flow analysis.