The amount of coding in Java Applications has increased over the years, which necessitates the understanding of the behavior of Java Applications at runtime to evaluate performance. Because of this growth in coding within Java Applications, computer scientists have been increasingly interested in correlating execution data and performance. Collection of execution data about a running Java Application is referred to as Tracing. Tracing the Java code execution is most effectively done by source code instrumentation and bytecode instrumentation. This project illustrates the use of ExecTracer as a bytecode instrumentation tool to trace Java code execution. ExecTracer uses the ASM bytecode manipulation framework to manipulate bytecode and Java Agent is used to perform on the fly bytecode manipulation, otherwise known as Dynamic Instrumentation. Java Agent utilizes the Instrumentation Application Program Interface (API) that provides alteration for the existing bytecode loaded in the Java Virtual Machine (JVM). ExecTracer performs Instrumentation on the running Java Application and logs execution trace information. Trace results from ExecTracer on several Java Applications shows excellent accuracy about instructions executed, execution frequency, and percentage coverage. The execution trace information provided by ExecTracer can be used for code coverage analysis during testing phase or for monitoring the performance of the Java Application after deployment, thereby aiding in selecting better code refactoring techniques and reduce code complexity.
|Commitee:||Aliasgari, Mehrdad, Lam, Shui|
|School:||California State University, Long Beach|
|Department:||Computer Engineering and Computer Science|
|School Location:||United States -- California|
|Source:||MAI 58/05M(E), Masters Abstracts International|
|Keywords:||Asm, Bytecode instrumentation, Execution trace, Javaagent|
Copyright in each Dissertation and Thesis is retained by the author. All Rights Reserved
The supplemental file or files you are about to download were provided to ProQuest by the author as part of a
dissertation or thesis. The supplemental files are provided "AS IS" without warranty. ProQuest is not responsible for the
content, format or impact on the supplemental file(s) on our system. in some cases, the file type may be unknown or
may be a .exe file. We recommend caution as you open such files.
Copyright of the original materials contained in the supplemental file is retained by the author and your access to the
supplemental files is subject to the ProQuest Terms and Conditions of use.
Depending on the size of the file(s) you are downloading, the system may take some time to download them. Please be