Control flow analysis

Control flow analysis

Control flow analysis 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 many languages, the control flow of a program is explicit in a program's source code. As a result, 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. For both functional programming languages and object-oriented programming languages, the term CFA refers to an algorithm that computes control flow.

The term control flow analysis was introduced independently by Neil D. Jones[1] and Olin Shivers[2].

In a programming language like Scheme, the target of a function call may not be explicit. For example 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.


Abstract interpretation, constraint solving and type systems may be used to compute control-flow analysis.

References

  1. ^ Neil D. Jones (1981), "Flow analysis of lambda expressions", Automata, Languages and Programming: 114–128, doi:10.1007/3-540-10843-2_10 
  2. ^ Shivers, Olin (1988), "Control-flow analysis in Scheme", Proceedings of the ACM SIGPLAN'88 Conference on Programming Language Design and Implementation (PLDI), SIGPLAN Notices, Vol.23, No.7: 164–174, doi:10.1145/53990.54007 

Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Control flow diagram — Example of a so called performance seeking control flow diagram .[1] A control flow diagram (CFD) is a diagram to describe the control flow of a business process, process or program. Contr …   Wikipedia

  • Control flow graph — Simplified control flowgraphs[1] A control flow graph (CFG) in computer science is a representation, using graph notation, of all paths that might be traversed through a program during its execution …   Wikipedia

  • Data-flow analysis — is a technique for gathering information about the possible set of values calculated at various points in a computer program. A program s control flow graph (CFG) is used to determine those parts of a program to which a particular value assigned… …   Wikipedia

  • Control table — This simple control table directs program flow according to the value of the single input variable. Each table entry holds a possible input value to be tested for equality (implied) and a relevant subroutine to perform in the action column. The… …   Wikipedia

  • analysis — /euh nal euh sis/, n., pl. analyses / seez /. 1. the separating of any material or abstract entity into its constituent elements (opposed to synthesis). 2. this process as a method of studying the nature of something or of determining its… …   Universalium

  • Control volume — Thermodynamics …   Wikipedia

  • Flow measurement — is the quantification of bulk fluid movement. Flow can be measured in a variety of ways. Positive displacement flow meters acumulate a fixed volume of fluid and then count the number of times the volume is filled to measure flow. Other flow… …   Wikipedia

  • Flow-FISH — (fluorescent in situ hybridization) is a cytogenetic technique to quantify the copy number of specific repetitive elements in genomic DNA of whole cell populations via the combination of flow cytometry with cytogenetic fluorescent in situ… …   Wikipedia

  • Control engineering — Control systems play a critical role in space flight Control engineering or Control systems engineering is the engineering discipline that applies control theory to design systems with predictable behaviors. The practice uses sensors to measure… …   Wikipedia

  • Control premium — is an amount that a buyer is usually willing to pay over the current market price of a publicly traded company. Contrary to a widely held view, this premium is not justified by the expected synergies, such as the expected increase in cash flow… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”