Dynamic program analysis

From Wikipedia, the free encyclopedia

Dynamic code analysis is the analysis of computer software that is performed with executing programs built from that software on a real or virtual processor (analysis performed without executing programs is known as static code analysis). Such tools may require loading of special libraries or even recompilation of program code.

[edit] Examples

  • Valgrind, performances run on a virtual processor, can detect memory errors (e.g. connected with misuse malloc and free) and race conditions in multithread programs.
  • Dmalloc, library for checking memory allocation and leaks. Software must be recompiled, and all files must include the special C header file dmalloc.h.
  • What is dynamic analysis and how can it be automated? Dynamic Analysis uses test data sets to execute software in order to observe its behaviour and produce test coverage reports. This assessment of source code ensures consistent levels of high quality testing and correct use of capture/playback tools.

[edit] See also


In other languages