Dynamic analysis, also called dynamic code analysis, is the process of analyzing a computer software by executing the program in real-time. The objective is to find errors in a program while it is running, rather than by repeatedly examining the code offline — in contrast to static analysis.
What kind of problems can dynamic analysis find?
- Lack of code coverage
- Errors in memory allocation and leaks
- Fault localization according to failing and passing test cases
- Concurrency errors such as race conditions, exceptions, resource & memory leaks, and security attack vulnerabilities
- Performance bottlenecks and exposed security vulnerabilities
Also see Continuous Quality.