Evaluating Dynamic Analysis Techniques for Program Comprehension