2/20/2009

Computer Program Analysis

Computer Program Analysis is the process of automatically analyzing the behavior of computer programs.

1. Analyzing Types


Static Analysis:
- code defect detecting
- format/convention checking
- code understanding/comprehension
- reverse engineering

Dynamic Analysis:
- code coverage producing
- memory leak checking
- threading error checking (data races & deadlocks)
- performance analysis (a.k.a. profiling)

2. Analyzing Purpose
s

Optimization:
- performance
- robustness

Correctness:
- memory leak
- code coverage
- model check
- threading error

3. Popular Goals

- code coverage, to see test coverage
- profiling, to identify performance bottle neck
- code analysis, to find code defect, improve code quality

[Reference]
http://en.wikipedia.org/wiki/Program_analysis_(computer_science)
http://en.wikipedia.org/wiki/Dynamic_program_analysis
http://en.wikipedia.org/wiki/Static_code_analysis
http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
http://en.wikipedia.org/wiki/Code_coverage
http://www.bullseye.com/coverage.html

No comments: