Analysis of a program that does not require the program to be executed, as in dynamic testing. A software tool is used to check syntax and to construct one or more ofa control-flow graph,a dataflow graph,an information flow graph.Information flow analysis identifies the relationships between outputs and the input variables, and a semantic analysis provides formulas for these relationships. Comparing the results of semantic analysis with a formal program specification is used to reveal inconsistencies between specification and implementation.
a control-flow graph,
a dataflow graph,
an information flow graph.
Early work (1975–76) led to analyzers (DAVE, AUDIT, FACES) for single languages such as Fortran. Later work led to analyzers for C (e.g. LINT, 1978). There are now analysis tools (e.g. MALPAS, SPADE) that are multilanguage and have facilities for comparing specification and code.