Control-flow analysis: Difference between revisions

Content deleted Content added
Added abbreviation
BG19bot (talk | contribs)
m WP:CHECKWIKI error fix for #52. Do general fixes if a problem exists. - using AWB (10300)
Line 1:
{{cleanup-rewrite|date=July 2014}}
In [[computer science]], '''control flow analysis''' ('''CFA''') is a [[static code analysis]] technique for determining the [[control flow]] of a program. The control flow is expressed as a [[control flow graph]] (CFG). For both [[functional programming language]]s and [[object-oriented programming language]]s, the term CFA, and elaborations such as ''k''-CFA, refer to specific algorithms that compute control flow.{{dubious|date=July 2014}}
 
Line 8:
it is unclear to which procedure <code>f</code> may refer. To determine the possible targets, a control-flow analysis must consider where this expression could be invoked, and what argument it may receive.
 
Techniques such as [[abstract interpretation]], [[constraint solving]] and [[type system]]s may be used to compute control-flow analysis{{which|date=July 2014}}.<ref>Flemming Nielson, Hanne Riis Nielson & Chris Hankin (1999). ''Principles of Program Analysis''. Springer.</ref>{{pnpage needed|date=July 2014}}
 
== See also ==
Line 17:
==References==
{{reflist}}
 
[[Category:Control-flow analysis| ]]
 
== External links ==
Line 24 ⟶ 22:
* http://cs.au.dk/~jmi/Midtgaard-CSur-final.pdf CFA in functional programs (survey)
* http://cgi.di.uoa.gr/~smaragd/kcfa-pldi10.pdf for the relationship between CFA analysis in functional languages and points-to analysis in imperative/OOP languages
 
[[Category:Control-flow analysis| ]]