Title
Optimizing transforms for Java and .NET closed systems
Date of Award
2004
Degree Type
Dissertation
Degree Name
Doctor of Philosophy (PhD)
Department
Electrical Engineering and Computer Science
Advisor(s)
Ernest Sibert
Keywords
Transforms, Java, Optimization, NET
Subject Categories
Computer Engineering | Computer Sciences | Engineering | Physical Sciences and Mathematics
Abstract
The Java programming environment uses a highly-developed virtual machine (VM) to execute its programs. The idea of a VM environment isn't new, but was popularized greater than ever before with the advent of Java. Java gains flexibility in this environment but pays for that flexibility in terms of performance. Exacerbating the problem, Java is a dynamically linked language which often defied traditional static analysis techniques. This constraint eliminates many opportunities for compiler optimization. Certainly, the established science of compiler optimization would have had much to contribute to Java's performance woes if such analysis were possible. This dissertation examines the composition of Java applications and presents a framework to identify portions of Java applications that are statically analyzable. In essence, few Java applications are fully statically analyzable, however the techniques presented herein strive to identify program subsets (which we shall call {\em closed-systems;) that are safely statically analyzable in isolation. Once such subsets are identified and statically analyzed, classic optimization transforms may be applied. The NET framework was released by Microsoft several years after Java and after the core framework of this dissertation was developed. However, because of the NET environment's runtime similarity with Java's, the techniques presented here also apply to NET with minimal modification. Specific modifications are noted where applicable. The end result of this work is a framework which presents the ability to optimize parts of Java applications in ways not previously possible. In addition, new optimizations specific to the Java (and NET) execution environment were discovered for performance improvement, application size reduction, and reverse engineering impedance.
Access
Surface provides description only. Full text is available to ProQuest subscribers. Ask your Librarian for assistance.
Recommended Citation
Tyma, Paul Michael, "Optimizing transforms for Java and .NET closed systems" (2004). Electrical Engineering and Computer Science - Dissertations. 76.
https://surface.syr.edu/eecs_etd/76
http://libezproxy.syr.edu/login?url=http://proquest.umi.com/pqdweb?did=862909341&sid=2&Fmt=2&clientId=3739&RQT=309&VName=PQD