| Instrumentation of standard libraries in object-oriented languages: the twin class hierarchy approach |
| Full text |
Pdf
(227 KB)
|
| Source
|
Conference on Object Oriented Programming Systems Languages and Applications
archive
Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
table of contents
Vancouver, BC, Canada
SESSION: Performance
table of contents
Pages: 288 - 300
Year of Publication: 2004
ISBN:1-58113-831-9
Also published in ...
|
|
Authors
|
|
Michael Factor
|
IBM Research Lab in Haifa, Haifa University Campus, Haifa, Israel
|
|
Assaf Schuster
|
Israel Institute of Technology, Technion City, Haifa, Israel
|
|
Konstantin Shagin
|
Israel Institute of Technology, Technion City, Haifa, Israel
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 9, Downloads (12 Months): 60, Citation Count: 5
|
|
|
ABSTRACT
Code instrumentation is widely used for a range of purposes that include profiling, debugging, visualization, logging, and distributed computing. Due to their special status within the language infrastructure, the <i>standard class libraries</i>, also known as <i>system classes</i> 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, this is equivalent to `instrumenting the instrumentation', and thus 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. The proposed approach does not require any modifications to the language, compiler or runtime. It 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 modification of any runtime components. We demonstrate our approach by implementing two instrumentation-based systems: a memory profiler and a distributed runtime for Java.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
The AspectJ home page. http://eclipse.org/aspectj/.
|
| |
2
|
The AspectWerkz home page. http://aspectwerkz.codehaus.org.
|
| |
3
|
The Cougaar Memory Profiler home page. http://cougaar.org/projects/profiler/ or http://profiler.cougaar.org.
|
| |
4
|
The JBoss AOP project home page. http://www.jboss.org/developers/projects/jboss/aop.jsp.
|
| |
5
|
The Standard Performance Evaluation Corporation. SPEC JBB 2000. http://www.spec.org/osg/jbb2000/.
|
| |
6
|
J. M. Bull, L. A. Smith, M. D. Westhead, D. S. Henty, and R. A. Davey. A benchmark suite for high performance Java. Concurrency: Practice and Experience, 12(6):375--388, 2000.
|
| |
7
|
|
| |
8
|
G. Cohen, J. Chase, and D. Kaminsky. Automatic program transformation with JOIE. In 1998 USENIX Annual Technical Symposium, pages 167--178, 1998.
|
| |
9
|
M. Dahm. Byte code engineering. In Java-Informations-Tage, pages 267--277, 1999.
|
| |
10
|
|
| |
11
|
M. Factor, A. Schuster, and K. Shagin. JavaSplit: A runtime for execution of monolithic Java programs on heterogeneous collections of commodity workstations. In IEEE Fifth Int'l. Conference on Cluster Computing, pages 110--119, Hong Kong, December 2003.
|
| |
12
|
|
| |
13
|
G. Kniesel, P. Costanza, and M. Austermann. JMangler -- a framework for load-time transformation of Java class files. In IEEE International Workshop on Source Code Analysis and Manipulation (SCAM), 2001.
|
| |
14
|
T. Lindholm and F. Yellin. The JVM Specification, 2nd edition. Addison-Wesley, 1999.
|
| |
15
|
|
| |
16
|
|
CITED BY 5
|
|
David Saff , Shay Artzi , Jeff H. Perkins , Michael D. Ernst, Automatic test factoring for java, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, November 07-11, 2005, Long Beach, CA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|