Victoria University

Profiling Initialisation Behaviour in Java

ResearchArchive/Manakin Repository

Show simple item record

dc.contributor.advisor Pearce, David
dc.contributor.advisor Noble, James
dc.contributor.author Nelson, Stephen Frank
dc.date.accessioned 2012-12-12T23:46:45Z
dc.date.available 2012-12-12T23:46:45Z
dc.date.copyright 2012
dc.date.issued 2012
dc.identifier.uri http://researcharchive.vuw.ac.nz/handle/10063/2574
dc.description.abstract Freshly created objects are a blank slate: their mutable state and their constant properties must be initialised before they can be used. Programming languages like Java typically support object initialisation by providing constructor methods. This thesis examines the actual initialisation of objects in real-world programs to determine whether constructor methods support the initialisation that programmers actually perform. Determining which object initialisation techniques are most popular and how they can be identified will allow language designers to better understand the needs of programmers, and give insights that VM designers could use to optimise the performance of language implementations, reduce memory consumption, and improve garbage collection behaviour. Traditional profiling typically either focuses on timing, or uses sampling or heap snapshots to approximate whole program analysis. Classifying the behaviour of objects throughout their lifetime requires analysis of all program behaviour without approximation. This thesis presents two novel whole-program object profilers: one using purely class modification (#prof ), and a hybrid approach utilising class modification and JVM support (rprof ). #prof modifies programs using aspect-oriented programming tools to generate and aggregate data and examines objects that enter different collections to determine whether correlation exists between initialisation behaviour and the use of equality operators and collections. rprof confirms the results of an existing static analysis study of field initialisation using runtime analysis, and provides a novel study of object initialisation behaviour patterns. en_NZ
dc.language.iso en_NZ
dc.publisher Victoria University of Wellington en_NZ
dc.subject Profiling en_NZ
dc.subject Initialisation en_NZ
dc.subject Java en_NZ
dc.title Profiling Initialisation Behaviour in Java en_NZ
dc.type Text en_NZ
vuwschema.contributor.unit School of Engineering and Computer Science en_NZ
vuwschema.subject.marsden 280302 Software Engineering en_NZ
vuwschema.subject.marsden 280303 Programming Languages en_NZ
vuwschema.type.vuw Awarded Doctoral Thesis en_NZ
thesis.degree.discipline Computer Science en_NZ
thesis.degree.grantor Victoria University of Wellington en_NZ
thesis.degree.level Doctoral en_NZ
thesis.degree.name Doctor of Philosophy en_NZ
vuwschema.subject.anzsrcfor 089999 Information and Computing Sciences not elsewhere classified en_NZ


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search ResearchArchive


Advanced Search

Browse

My Account

Statistics