ABSTRACT

Static analysis means inspecting the code to look for faults. It is convenient to divide the verification of code into dynamic and static analysis. Static analysis is effectively automated code inspection, where a program rather than a human performs the inspection. The symbolic execution of code lies between dynamic and static analysis because it simulates the execution and, because it can handle many input values simultaneously, is more powerful than dynamic testing in some circumstances. A programmer editing and compiling a program needs to have the feedback from the static analysis tool in the same timescale as the compilation. If the static analysis adds more than a few seconds to the edit/compile cycle, then it will not be performed by the originating programmer. International Organization for Standards 26262 recommends the use of static analysis as a mechanism for demonstrating the freedom from interference of some software elements.