请输入您要查询的百科知识:

 

词条 Control flow analysis
释义

  1. See also

  2. References

  3. External links

{{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 languages and object-oriented programming languages, the term CFA, and elaborations such as k-CFA, refer to specific algorithms that compute control flow.{{dubious|date=July 2014}}

For many imperative programming languages, the control flow of a program is explicit in a program's source code.{{dubious|date=July 2014}} As a result, interprocedural control-flow analysis implicitly usually refers to a static analysis technique for determining the receiver(s) of function or method calls in computer programs written in a higher-order programming language.{{dubious|date=July 2014}} 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. 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 systems may be used for control-flow analysis.[1]{{page needed|date=July 2014}}

See also

  • Control-flow diagram (CFD)
  • Data-flow analysis
  • Cartesian product algorithm
  • Pointer analysis

References

1. ^{{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}}

External links

{{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]
  • CFA in functional programs (survey)
  • for the relationship between CFA analysis in functional languages and points-to analysis in imperative/OOP languages

1 : Control-flow analysis

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/11 23:58:45