TheInfoListRev V5.1.84
Xfr/
SummaryRelatedTreeNews

Related topics

Control-flow graph

Sponsored
Shop Amazon for cutting boards
Browse products on Amazon.
Search Amazon →
As an Amazon Associate I earn from qualifying purchases.

In computer science, a control-flow graph (CFG) is a representation, using graph notation, of all paths that might be traversed through a function during its execution, or control flow. The control-flow graph was conceived by Frances E. Allen, who noted that Reese T. Prosser used boolean connectivity matrices for flow analysis before. The CFG is essential to many compiler optimizations and static-analysis tools.

Basic blockBasic blockIn 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. This restricted form makes a basic block highly amenable to analysis. Compilers usually decompose programs into their basic blocks as a first step in the analysis process. Basic blocks form the vertices or nodes in a control-flow graph.Control flowIn software, control flow (or flow of control) describes how execution progresses from one command to the next. In many contexts, such as machine code and an imperative programming language, control progresses sequentially (to the command located immediately after the currently executing command) except when a command transfers control to another point – in which case the command is classified as a control flow command.Directed graphDirected graphIn mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs.Function (computer programming)Function (computer programming)In computer programming, a function (also procedure, method, subroutine, routine, or subprogram) is a callable unit of software logic that has a well-formed interface and behavior and can be invoked multiple times. Callable units provide a powerful programming tool. The primary purpose is to enable the decomposition of a large and/or complicated problem into chunks that have relatively low cognitive load.Optimizing compilerOptimizing compilerAn optimizing compiler is a compiler designed to generate code that is optimized in aspects such as minimizing program execution time, memory usage, storage size, and power consumption. Optimization is generally implemented as a sequence of optimizing transformations, a.k.a. compiler optimizations – algorithms that transform code to produce semantically equivalent code optimized for some aspect. Optimization is limited by a number of factors.Static program analysisStatic program analysisIn computer science, static program analysis (also known as static analysis or static simulation) is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution in the integrated environment. The term is usually applied to analysis performed by an automated tool, with human analysis typically being called "program understanding", program comprehension, or code review.Frances AllenFrances AllenFrances Elizabeth Allen (August 4, 1932 – August 4, 2020) was an American computer scientist and pioneer in the field of optimizing compilers. Allen was the first woman to become an IBM Fellow, and in 2006 became the first woman to win the Turing Award. Her achievements include seminal work in compilers, program optimization, and parallelization. She worked for IBM from 1957 to 2002 and subsequently was a Fellow Emerita.Execution (computing)In computing, execution is a process by which a computer program is read by a computer and the computer performs the actions encoded in the program. As the processor follows the program instructions, effects are produced in accordance with the semantics of those instructions. The term run is generally synonymous with execute. The act of starting execution is often called launching or invoking in addition to executing and running. An execution processor comes in many forms.Adjacency matrixIn graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not within the graph. In the special case of a finite simple graph, the adjacency matrix is a (0,1)-matrix with zeros on its diagonal. If the graph is undirected (i.e. all of its edges are bidirectional), the adjacency matrix is symmetric.DepictionDepictionDepiction is reference conveyed through pictures. A picture refers to its object through a non-linguistic two-dimensional scheme, and is distinct from writing or notation. A depictive two-dimensional scheme is called a picture plane and may be constructed according to descriptive geometry, where they are usually divided between projections (orthogonal and various oblique angles) and perspectives (according to number of vanishing points).Computer scienceComputer scienceStudy of computationFundamental areas of computer scienceProgramming language theoryComputer architectureArtificial intelligenceComputational complexity theoryComputer science is the study of computation, information, and automation, together with their associated phenomena.Reese ProsserReese ProsserReese Trego Prosser (May 18, 1927 in Minneapolis – June 15, 1996) was an American mathematician. He studied at Harvard University (A.B., 1949) and University of California at Berkeley under John L. Kelley (Ph.D. on the thesis Structure of Operator algebras, 1955), while working as numerical analyst at Lawrence Radiation Laboratory (1953–55). He then joined Duke University (instructor, 1955–56) and Massachusetts Institute of Technology (instructor, 1956).

*As an Amazon Associate I earn from qualifying purchases.

AboutPrivacyContact

TheInfoList organizes topic information and links to original sources.

Loading topic…