Dynamic analysis of Java program concepts for visualization and profiling

Jeremy Singer, Chris Kirkham

    Research output: Chapter in Book/Conference proceedingConference contribution

    Abstract

    Concept assignment identifies units of source code that are functionally related, even if this is not apparent from a syntactic point of view. Until now, the results of concept assignment have only been used for static analysis, mostly of program source code. This paper investigates the possibility of using concept information within a framework for dynamic analysis of programs. The paper presents two case studies involving a small Java program used in a previous research exercise, and a large Java virtual machine (the popular Jikes RVM system). These studies investigate two applications of dynamic concept information: visualization and profiling. The paper demonstrates two different styles of concept visualization, which show the proportion of overall time spent in each concept and the sequence of concept execution, respectively. The profiling study concerns the interaction between runtime compilation and garbage collection in Jikes RVM. For some benchmark cases, we are able to obtain a significant reduction in garbage collection time. We discuss how this phenomenon might be harnessed to optimize the scheduling of garbage collection in Jikes RVM. © 2007 Elsevier B.V. All rights reserved.
    Original languageEnglish
    Title of host publicationScience of Computer Programming|Sci Comput Program
    PublisherElsevier BV
    Pages111-126
    Number of pages15
    Volume70
    DOIs
    Publication statusPublished - 1 Feb 2008
    EventInternational Conference on Principles and Practices of Programming in Java - Mannheim, GERMANY
    Duration: 1 Jan 20081 Jan 2008

    Conference

    ConferenceInternational Conference on Principles and Practices of Programming in Java
    CityMannheim, GERMANY
    Period1/01/081/01/08

    Keywords

    • Concept assignment
    • Dynamic analysis
    • Jikes RVM

    Fingerprint

    Dive into the research topics of 'Dynamic analysis of Java program concepts for visualization and profiling'. Together they form a unique fingerprint.

    Cite this