Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Install
Faster access than browser!
 

Control flow graph

Index Control flow graph

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. [1]

41 relations: Abstract syntax tree, Adjacency matrix, Basic block, Branch (computer science), Compiler, Computer program, Computer science, Constant folding, Control flow, Control flow analysis, Control flow diagram, Cyclomatic complexity, Data-flow analysis, Dependency graph, Depiction, Depth-first search, Directed acyclic graph, Directed graph, Dominator (graph theory), Edge contraction, Exception handling, Execution (computing), Flowchart, Frances E. Allen, Glossary of graph theory terms, Goto, Graph (discrete mathematics), Halting problem, Infinite loop, Intermediate representation, Interval (graph theory), Jump threading, Loop-invariant code motion, Reachability, Reese Prosser, Static program analysis, Static single assignment form, Structured programming, Unreachable code, Vertex (graph theory), Zdeněk Dvořák.

Abstract syntax tree

In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the abstract syntactic structure of source code written in a programming language.

New!!: Control flow graph and Abstract syntax tree · See more »

Adjacency matrix

In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph.

New!!: Control flow graph and Adjacency matrix · See more »

Basic block

In compiler construction, a basic block is a straight-line code sequence with no branches in except to the entry and no branches out except at the exit.

New!!: Control flow graph and Basic block · See more »

Branch (computer science)

A branch is an instruction in a computer program that can cause a computer to begin executing a different instruction sequence and thus deviate from its default behavior of executing instructions in order.

New!!: Control flow graph and Branch (computer science) · See more »

Compiler

A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language).

New!!: Control flow graph and Compiler · See more »

Computer program

A computer program is a collection of instructions for performing a specific task that is designed to solve a specific class of problems.

New!!: Control flow graph and Computer program · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: Control flow graph and Computer science · See more »

Constant folding

Constant folding and constant propagation are related compiler optimizations used by many modern compilers.

New!!: Control flow graph and Constant folding · See more »

Control flow

In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated.

New!!: Control flow graph and Control flow · See more »

Control flow analysis

In computer science, control flow analysis (CFA) is a static code analysis technique for determining the control flow of a program.

New!!: Control flow graph and Control flow analysis · See more »

Control flow diagram

A control flow diagram (CFD) is a diagram to describe the control flow of a business process, process or review Control flow diagrams were developed in the 1950s, and are widely used in multiple engineering disciplines.

New!!: Control flow graph and Control flow diagram · See more »

Cyclomatic complexity

Cyclomatic complexity is a software metric, used to indicate the complexity of a program.

New!!: Control flow graph and Cyclomatic complexity · See more »

Data-flow analysis

Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program.

New!!: Control flow graph and Data-flow analysis · See more »

Dependency graph

In mathematics, computer science and digital electronics, a dependency graph is a directed graph representing dependencies of several objects towards each other.

New!!: Control flow graph and Dependency graph · See more »

Depiction

Depiction is reference conveyed through pictures.

New!!: Control flow graph and Depiction · See more »

Depth-first search

Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures.

New!!: Control flow graph and Depth-first search · See more »

Directed acyclic graph

In mathematics and computer science, a directed acyclic graph (DAG), is a finite directed graph with no directed cycles.

New!!: Control flow graph and Directed acyclic graph · See more »

Directed graph

In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is a set of vertices connected by edges, where the edges have a direction associated with them.

New!!: Control flow graph and Directed graph · See more »

Dominator (graph theory)

In computer science, in control flow graphs, a node d dominates a node n if every path from the entry node to n must go through d. Notationally, this is written as d dom n (or sometimes d \gg n).

New!!: Control flow graph and Dominator (graph theory) · See more »

Edge contraction

In graph theory, an edge contraction is an operation which removes an edge from a graph while simultaneously merging the two vertices that it previously joined.

New!!: Control flow graph and Edge contraction · See more »

Exception handling

Exception handling is the process of responding to the occurrence, during computation, of exceptions – anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution.

New!!: Control flow graph and Exception handling · See more »

Execution (computing)

Execution in computer and software engineering is the process by which a computer or a virtual machine performs the instructions of a computer program.

New!!: Control flow graph and Execution (computing) · See more »

Flowchart

A flowchart is a type of diagram that represents an algorithm, workflow or process.

New!!: Control flow graph and Flowchart · See more »

Frances E. Allen

Frances Elizabeth "Fran" Allen (born August 4, 1932) is an American computer scientist and pioneer in the field of optimizing compilers.

New!!: Control flow graph and Frances E. Allen · See more »

Glossary of graph theory terms

This is a glossary of graph theory terms.

New!!: Control flow graph and Glossary of graph theory terms · See more »

Goto

GoTo (goto, GOTO, GO TO or other case combinations, depending on the programming language) is a statement found in many computer programming languages.

New!!: Control flow graph and Goto · See more »

Graph (discrete mathematics)

In mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related".

New!!: Control flow graph and Graph (discrete mathematics) · See more »

Halting problem

In computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running (i.e., halt) or continue to run forever.

New!!: Control flow graph and Halting problem · See more »

Infinite loop

An infinite loop (or endless loop) is a sequence of instructions in a computer program which loops endlessly, either due to the loop having no terminating condition, having one that can never be met, or one that causes the loop to start over.

New!!: Control flow graph and Infinite loop · See more »

Intermediate representation

An Intermediate representation (IR) is the data structure or code used internally by a compiler or virtual machine to represent source code.

New!!: Control flow graph and Intermediate representation · See more »

Interval (graph theory)

In graph theory, an interval I(h) in a directed graph is a maximal, single entry subgraph in which h is the only entry to I(h) and all closed paths in I(h) contain h. Intervals were described in 1970 by F. E. Allen and J. Cocke.

New!!: Control flow graph and Interval (graph theory) · See more »

Jump threading

In computing, jump threading is a compiler optimization of one jump directly to a second jump.

New!!: Control flow graph and Jump threading · See more »

Loop-invariant code motion

In computer programming, loop-invariant code consists of statements or expressions (in an imperative programming language) which can be moved outside the body of a loop without affecting the semantics of the program.

New!!: Control flow graph and Loop-invariant code motion · See more »

Reachability

In graph theory, reachability refers to the ability to get from one vertex to another within a graph.

New!!: Control flow graph and Reachability · See more »

Reese Prosser

Reese Trego Prosser (May 18, 1927 in Minneapolis – June 15, 1996) was an American mathematician.

New!!: Control flow graph and Reese Prosser · See more »

Static program analysis

Static program analysis is the analysis of computer software that is performed without actually executing programs.

New!!: Control flow graph and Static program analysis · See more »

Static single assignment form

In compiler design, static single assignment form (often abbreviated as SSA form or simply SSA) is a property of an intermediate representation (IR), which requires that each variable is assigned exactly once, and every variable is defined before it is used.

New!!: Control flow graph and Static single assignment form · See more »

Structured programming

Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection (if/then/else) and repetition (while and for), block structures, and subroutines in contrast to using simple tests and jumps such as the go to statement, which can lead to "spaghetti code" that is potentially difficult to follow and maintain.

New!!: Control flow graph and Structured programming · See more »

Unreachable code

In computer programming, unreachable code is part of the source code of a program which can never be executed because there exists no control flow path to the code from the rest of the program.

New!!: Control flow graph and Unreachable code · See more »

Vertex (graph theory)

In mathematics, and more specifically in graph theory, a vertex (plural vertices) or node is the fundamental unit of which graphs are formed: an undirected graph consists of a set of vertices and a set of edges (unordered pairs of vertices), while a directed graph consists of a set of vertices and a set of arcs (ordered pairs of vertices).

New!!: Control flow graph and Vertex (graph theory) · See more »

Zdeněk Dvořák

Zdeněk Dvořák (born April 26, 1981) is a Czech mathematician specializing in graph theory.

New!!: Control flow graph and Zdeněk Dvořák · See more »

Redirects here:

Control-flow graph, Flow control diagrams.

References

[1] https://en.wikipedia.org/wiki/Control_flow_graph

OutgoingIncoming
Hey! We are on Facebook now! »