TY - GEN
T1 - Applying the decorator pattern for profiling object-oriented software
AU - Duffy, E. B.
AU - Gibson, J. P.
AU - Malloy, B. A.
N1 - Publisher Copyright:
© 2003 IEEE.
PY - 2003/1/1
Y1 - 2003/1/1
N2 - A profiler can provide valuable information to a developer to facilitate program optimization, debugging or testing. In this paper, we describe the use of the decorator pattern for non-intrusive profiling of object-oriented applications. We provide a formal specification of the decorator pattern, and show that the pattern can be used as a program transformation without altering the external, observable behavior of the system. We refer to such a transformation as a correctness preserving transformation, or CPT. As a CPT, the decorator pattern can be used to non-intrusively profile object-oriented applications and we illustrate this application with an invariant validator for enforcement of design by contract, and for profiling memory. We provide a case study to compare the cost trade-offs of validating invariants at different points in a program.
AB - A profiler can provide valuable information to a developer to facilitate program optimization, debugging or testing. In this paper, we describe the use of the decorator pattern for non-intrusive profiling of object-oriented applications. We provide a formal specification of the decorator pattern, and show that the pattern can be used as a program transformation without altering the external, observable behavior of the system. We refer to such a transformation as a correctness preserving transformation, or CPT. As a CPT, the decorator pattern can be used to non-intrusively profile object-oriented applications and we illustrate this application with an invariant validator for enforcement of design by contract, and for profiling memory. We provide a case study to compare the cost trade-offs of validating invariants at different points in a program.
U2 - 10.1109/WPC.2003.1199192
DO - 10.1109/WPC.2003.1199192
M3 - Conference contribution
AN - SCOPUS:84979075994
T3 - Proceedings - IEEE Workshop on Program Comprehension
SP - 84
EP - 93
BT - Proceedings - IWPC 2003
PB - IEEE Computer Society
T2 - 11th IEEE International Workshop on Program Comprehension, IWPC 2003
Y2 - 10 May 2003 through 11 May 2003
ER -