Article in Journal ART-2005-18

BibliographyEisenbarth, Thomas; Koschke, Rainer; Vogel, Gunther: Static Object Trace Extraction for Programs with Pointers.
In: Journal of Systems and Software. Vol. 77(3).
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology.
pp. 263-284, english.
Elsevier Inc., September 2005.
Article in Journal.
CR-SchemaD.2.7 (Software Engineering Distribution, Maintenance, and Enhancement)
KeywordsSoftware Reverse Engineering; Program Understanding; Points-to-Analysis
Abstract

A trace is a record of the execution of a computer program, showing the sequence of operations executed. Dynamic traces are obtained by executing the program and depend upon the input. Static traces, on the other hand, describe potential sequences of operations extracted statically from the source code. Static traces offer the advantage that they do not depend upon input data.

This paper describes a new automatic technique to extract static traces for individual stack and heap objects. The extracted static traces can be used in many ways, such as protocol recovery and validation in particular and program understanding in general.

In addition, this article describes four case studies we conducted to explore the efficiency of our algorithm, the size of the resulting static traces, and the influence of the underlying points-to analysis on this size.

Department(s)University of Stuttgart, Institute of Software Technology, Programming Languages and Compilers
Project(s)Bauhaus
Entry dateJuly 1, 2010
   Publ. Institute   Publ. Computer Science