Estimating Execution Profiles in Object Bases

Donald Kossmann
Michael Steinbrunn
Alfons Kemper
Feb. 1993, RWTH Aachen
In this paper, we propose a novel method - called decapsulation - for statically estimating the (running time) cost of object base application programs. The approach is based on extracting weighted inter-object reference chains that are potentially traversed during the execution of the program. These reference chains, called path expressions at the syntactical level, are obtained by data flow analysis; the weights, which denote the traversal probability, are derived from selectivity estimates of the branching statements, i.e., the If-statements. From the inter-object reference profile thus obtained, a Petri net based simulation of the application program is derived. The Petri net is initialized by the object base characteristics, such as the cardinality of the relevant type extensions, the fan-in and fan-out of the objects, etc. The outcome of the simulation constitutes an estimate of the I/O costs, i.e., the number of (different) objects read by the program.
You can download the whole postscript file.
Uwe Röhm, 08.06.1994; Last Change: 07.11.94