Program |
 |
|
|
Find in Program |
 |
|
|
Page |
 |
|
|
Basket |
 |
|
view, help
"Instrumentation of Standard Libraries in Object-Oriented Languages: the Twin Class Hierarchy Approach"
|
|
|
|
Instrumentation of Standard Libraries in Object-Oriented Languages: the Twin Class Hierarchy Approach
Ballroom A-B Wednesday, 16:30, 30 minutes 7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
Konstantin Shagin, Technion—Israel Institute of Technology Assaf Schuster, Technion—Israel Institute of Technology Michael Factor, IBM Research Lab in Haifa
Code instrumentation is widely used for a range of purposes including
profiling, debugging, visualization, logging, and distributed computing.
Due to their special status within the language infrastructure, the
standard class libraries, also known as system classes, provided by most
contemporary object-oriented languages, are difficult and sometimes
impossible to instrument. If instrumented, the use of their rewritten
versions within the instrumentation code is usually unavoidable. However,
since it is equivalent to "instrumenting the instrumentation," it may
lead to erroneous results. Consequently, most systems avoid rewriting
system classes. We present a novel instrumentation strategy that
alleviates the above problems by renaming the instrumented classes. Our
approach allows system classes to be instrumented, both statically and
dynamically. In fact, this is the first technique that enables dynamic
instrumentation of Java system classes without modifying any runtime
components. We demonstrate our approach by implementing two
instrumentation-based systems: a memory profiler and a distributed
runtime for Java.
|