Dynamic object process graphs

  • Authors:
  • Jochen Quante;Rainer Koschke

  • Affiliations:
  • Software Engineering Group, Computer Science, Faculty 3, University of Bremen, 28359 Bremen, Germany;Software Engineering Group, Computer Science, Faculty 3, University of Bremen, 28359 Bremen, Germany

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

A trace is a record of the execution of a computer program, showing the sequence of operations executed. A trace may be obtained through static or dynamic analysis. An object trace contains only those operations that relate to a particular object. Traces can be very large for longer system executions. Moreover, they lack structure because they do not show the control dependencies and completely unfold loops. Object process graphs are a finite concise description of dynamic object traces. They offer the advantage of representing control dependencies and loops explicitly. This article describes a new technique to extract object process graphs through dynamic analysis and discusses several applications, in particular program understanding and protocol recovery. A case study is described that illustrates and demonstrates use and feasibility of the technique. Finally, statically and dynamically derived object process graphs are compared.