Generating realistic trace files for memory management simulators by instrumenting IBM's J9 Java Virtual Machine
dc.contributor.advisor | Kent, Kenneth | |
dc.contributor.advisor | Dueck, Gerhard | |
dc.contributor.author | Ilisei, Johannes | |
dc.date.accessioned | 2023-03-01T16:27:47Z | |
dc.date.available | 2023-03-01T16:27:47Z | |
dc.date.issued | 2017 | |
dc.date.updated | 2019-03-04T00:00:00Z | |
dc.description.abstract | High-level programming languages like Java, C#, or Python rely on memory management systems that allocate and free objects automatically. A Java Virtual Machine (JVM) is responsible to execute compiled Java code. Several JVM implementations are available that include ongoing improvements throughout many years with reductions in execution time and memory footprint as well as the addition of new features. JVM implementations are large-sized projects that consist of many files, classes, and functions. Changing or extending the code can be a difficult and time consuming task. Therefore, simulators that reproduce desired JVM operations are available. They can be used to implement and test new features in little time. As with the Java Virtual Machine, a simulator requires instructions as form of input files with information on what operations to perform. These files are called trace files and they are generated with an instrumented JVM. Relevant operations are captured and printed into a file while running the JVM. This master's thesis focuses on the generation of trace files that represent JVM operations as realistically as possible. At the start of this project, two types of trace file generators already exist. Unfortunately, both of them contain errors that lead to a false JVM representation. Thereby, results gathered from simulators are unreliable. A new form of trace file generation is required that is able to produce correct inputs for a simulator. The project presented in this thesis captures JVM operations directly from IBM's J9 Java Virtual Machine's bytecode instructions. In addition, a comparison between previous and new trace files and their different effects on the simulator is part of this thesis. | |
dc.description.copyright | © Johannes Ilisei, 2017 | |
dc.description.note | M.C.S. University of New Brunswick, Faculty of Computer Science, 2017. | |
dc.format | text/xml | |
dc.format.extent | xi, 93 pages | |
dc.format.medium | electronic | |
dc.identifier.other | Thesis 10004 | |
dc.identifier.uri | https://unbscholar.lib.unb.ca/handle/1882/13898 | |
dc.language.iso | en_CA | |
dc.publisher | University of New Brunswick | |
dc.rights | http://purl.org/coar/access_right/c_abf2 | |
dc.subject.classification | Trace file generators. | |
dc.subject.classification | Memory management simulators. | |
dc.subject.discipline | Computer Science | |
dc.subject.lcsh | Java virtual machine -- Computer simulation. | |
dc.subject.lcsh | Virtual computer systems -- Computer simulation. | |
dc.subject.lcsh | Software frameworks. | |
dc.subject.lcsh | Computer software -- Development. | |
dc.subject.lcsh | Memory management (Computer science) | |
dc.subject.lcsh | Garbage collection (Computer science) | |
dc.subject.lcsh | Generators (Computer programs) | |
dc.subject.lcsh | Java (Computer program language) | |
dc.title | Generating realistic trace files for memory management simulators by instrumenting IBM's J9 Java Virtual Machine | |
dc.type | master thesis | |
thesis.degree.discipline | Computer Science | |
thesis.degree.fullname | Master of Computer Science | |
thesis.degree.grantor | University of New Brunswick | |
thesis.degree.level | masters | |
thesis.degree.name | M.C.S. |
Files
Original bundle
1 - 1 of 1