Static code analysis Guide, Meaning , Facts, Information and Description
Static code analysis is a set of methods for analysing software source code or object code in an effort to gain understanding of what the software does and establish certain correctness criteria.Schematically, there exist several types of static analysis (which may be used in combination, even inside the same programming tool):
- tools such as lint essentially look for constructs that "look dangerous" from an informal point of view;
- formal methods consider mathematical definition of the behaviors of programs, known as semantics:
| Table of contents |
|
2 External links |
Formal methods
Static analysis is a family of formal methods for automatically deriving information about the behavior of computer software (and also hardware). One possible application of static analysis is automated debugging aid, especially the finding of run-time errors -- roughly speaking, events causing program crashes.
Briefly, program analysis — including finding possible run-time errors -- is undecidable: there's is no mechanical method that can always answer truthfully whether programs may or not exhibit runtime errors. This is a mathematically founded result dating from the works of Church, Gödel and Turing in the 1930s (see halting problem and Rice's theorem).
There exist two main families of formal static analysis:
- model checking considers systems that have finite state or may be reduced to finite state by abstraction (computer science);
- static analysis by abstract interpretation approximates the behavior of the system, either from above (considering more behaviors than can happen in reality), or from below.
This is an Article on Static code analysis. Page Contains Information, Facts Details or Explanation Guide About Static code analysis See also
External links
