Static Code Analysis
Static Code Analysis analyses software without executing the program (the analysis performed on executing programs is called dynamic analysis).
The term "static analysis" is usually applied to the code analysis performed by an automated tool. Checking code by humans without tools are called code review. Like in reviews, the objective of static code analysis is to uncover defects or error prone parts in a source code.
Static Code Analysis checks also for compliance to conventions and coding standards like MISRA-C rules and for code complexity.
There is a growing use of static analysis for testing safety-critical software like medical software. The U.S. Food and Drug Administration (FDA) has recommended the use of static code analysis in order to improve software quality.
Static Analysis is complementary to dynamic analysis.
For more information have a look to our YouTube video Static Analysis and Dynamic Tests
Tools:
CodeSonar (for C, C++, Java and C#)Testwell CMT++ Code Complexity Measurement Tool for C, C++, C#
Testwell CMTJava Code Complexity Measurement Tool for Java
Imagix 4D Static Checks and Metrics (C, C++, Java)
Codee Static Analysis to increase Code Performance (C, C++, Fortran)

