Abstract :
Using automatic program analysis techniques for extracting architectural information and its visualization is widely considered useful for program understanding. However, it has to be empirically validated if a given technique is beneficial in practice. This is usually done by performing a set of case studies. To find out for sure whether a technique really has any effect, controlled experiments have to be conducted. Dynamic object process graphs are one such technique. These graphs describe the control flow of an application from the perspective of a single object. In previous research, we conducted case studies which indicated that they may be useful for program understanding, but this assumption has not been validated so far. We report on a controlled experiment which investigated this question: Does the availability of such graphs support program understanding or not? We describe the research questions that were investigated, the hypotheses, experimental setup, conduction, and discuss the results and lessons learned.
Keywords :
program diagnostics; reverse engineering; software architecture; software maintenance; architectural information; automatic program analysis techniques; dynamic object process graphs; program understanding; Application software; Automatic control; Data mining; Flow graphs; Information analysis; Programming; Sockets; Software maintenance; Unified modeling language; Visualization; controlled experiment; dynamic analysis; program comprehension; software maintenance;