Content deleted Content added
|
|
{{About|certain software quality assessment methods|the statistical method|Static analysis}}
'''Static program analysis''' (also '''Staticstatic code analysis''' or SCA) is the [[Program analysis (computer science)|analysis of computer software]] that is performed without actually executing programs built from that software (analysis performed on executing programs is known as [[dynamic program analysis|dynamic analysis]]).<ref>Industrial Perspective on Static Analysis. Software Engineering Journal Mar. 1995: 69-75Wichmann, B. A., A. A. Canning, D. L. Clutterbuck, L. A. Winsbarrow, N. J. Ward, and D. W. R. Marsh. http://www.ida.liu.se/~TDDC90/papers/industrial95.pdf</ref> In most cases the analysis is performed on some version of the [[source code]] and in the other cases some form of the [[object code]]. The term is usually applied to the analysis performed by an [[List of tools for static code analysis|automated tool]], with human analysis being called program understanding, [[program comprehension]] or [[code review]].
The sophistication of the analysis performed by tools varies from those that only consider the behavior of individual statements and declarations, to those that include the complete source code of a program in their analysis. Uses of the information obtained from the analysis vary from highlighting possible coding errors (e.g., the [[lint programming tool|lint]] tool) to [[formal methods]] that mathematically prove properties about a given program (e.g., its behavior matches that of its specification).
|