Abstract
Dynamic analysis is a category of program analysis techniques that analyze execution traces of a program to understand the behavior and the performance of the program. This paper explains several applications of dynamic analysis such as code coverage analysis and statistical debugging and their effectiveness. The paper also presents several available tools to analyze Java programs.