TheInfoListRev V5.1.84
Xfr/
SummaryRelatedTreeNews

Related topics

Program analysis

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

In computer science, program analysis is the process of analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program optimization and program correctness. The first focuses on improving the program’s performance while reducing the resource usage while the latter focuses on ensuring that the program does what it is supposed to do.

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.Taint checkingTaint checkingComputer language security feature Taint checking is a feature in some computer programming languages, such as Perl, Ruby or Ballerina designed to increase security by preventing malicious users from executing commands on a host computer. Taint checks highlight specific security risks primarily associated with web sites which are attacked using techniques such as SQL injection or buffer overflow attack approaches.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.C (programming language)C (programming language)C is a general-purpose programming language created in 1972 by Dennis Ritchie. By design, C gives programmers relatively direct access to the features of typical CPU architectures, customized for the target instruction set. It has been and continues to be used to implement operating systems (especially kernels), device drivers, and protocol stacks, though its use in application software is decreasing.Program optimizationProgram optimizationImproving the efficiency of software In computer science, program optimization, code optimization, or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. In general, a computer program may be optimized so that it executes more rapidly, or to make it capable of operating with less memory storage or other resources, or draw less power.Control-flow graphControl-flow graphIn 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.Undecidable problemUndecidable problemIn computability theory and computational complexity theory, an undecidable problem is a decision problem for which it is proved to be impossible to construct an algorithm that always leads to a correct yes-or-no answer. The halting problem is an example: it can be proven that there is no algorithm that correctly determines whether an arbitrary program eventually halts when run.Dynamic program analysisDynamic program analysis is the act of analyzing software that involves executing a program – as opposed to static program analysis, which does not execute it. Analysis can focus on different aspects of the software including but not limited to: behavior, test coverage, performance and security. To be effective, the target program must be executed with sufficient test inputs to address the ranges of possible inputs and outputs.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.False positives and false negativesFalse positives and false negativesA false positive is an error in binary classification in which a test result incorrectly indicates the presence of a condition (such as a disease when the disease is not present), while a false negative is the opposite error, where the test result incorrectly indicates the absence of a condition when it is actually present. These are the two kinds of errors in a binary test, in contrast to the two kinds of correct result (a true positive and a true negative).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.Correctness (computer science)Correctness (computer science)In theoretical computer science, an algorithm is correct with respect to a specification if it behaves as specified. Best explored is functional correctness, which refers to the input–output behavior of the algorithm: for each input, it produces an output satisfying the specification.

*As an Amazon Associate I earn from qualifying purchases.

AboutPrivacyContact

TheInfoList organizes topic information and links to original sources.

Loading topic…