Content deleted Content added
Allforrous (talk | contribs) →External links: Commonscat template. |
|||
(10 intermediate revisions by 10 users not shown) | |||
Line 1:
{{Short description|Compiler technique}}
{{
In [[computer science]], '''control
For many [[imperative programming language]]s, the control flow of a program is explicit in a program's source code.{{dubious|date=July 2014}} As a result, [[interprocedural analysis|interprocedural]] control-flow analysis implicitly usually refers to a [[static analysis]] technique for determining the
<
(lambda (f) (f x))
</syntaxhighlight>
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.▼
▲it is unclear to which procedure <code>f</code> may refer.
Techniques such as [[abstract interpretation]], [[constraint solving]], and [[type system]]s may be used for control-flow analysis.<ref>{{cite book |author-first1=Flemming |author-last1=Nielson |author-first2=Hanne Riis |author-last2=Nielson |author-first3=Chris |author-last3=Hankin |title=Principles of Program Analysis |publisher=[[Springer Science+Business Media]] |date=2005}}</ref>{{page needed|date=July 2014}}▼
▲Techniques such as [[abstract interpretation]], [[constraint solving]], and [[type system]]s may be used for control-flow analysis.<ref>{{cite book |author-first1=Flemming |author-last1=Nielson |author-first2=Hanne Riis |author-last2=Nielson |author2-link=Hanne Riis Nielson|author-first3=Chris |author-last3=Hankin |title=Principles of Program Analysis |publisher=[[Springer Science+Business Media]] |date=2005}}</ref>{{page needed|date=July 2014}}
== See also ==▼
* [[Control-flow diagram]] (CFD)
* [[Data-flow analysis]]
Line 22 ⟶ 25:
{{Commonscat|Control-flow analysis}}
*[https://web.archive.org/web/20140728203154/http://pages.cs.wisc.edu/~cs701-1/NOTES/3.CONTROL-FLOW-ANALYSIS.html for textbook intraprocedural CFA in imperative languages]
*[http://
*[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]
{{Compiler optimizations}}
[[Category:Control-flow analysis| ]]
|