Dynamic Analysis of Java Program Concepts

نویسندگان

  • Jeremy Singer
  • Chris Kirkham
چکیده

5 Concept assignment identifies units of source code that are functionally related, 6 even if this is not apparent from a syntactic point of view. Until now, the results 7 of concept assignment have only been used for static analysis, mostly of program 8 source code. This paper investigates the possibility of using concept information 9 within a framework for dynamic analysis of programs. The paper presents two case 10 studies involving a small Java program used in a previous research exercise, and a 11 large Java virtual machine (the popular Jikes RVM system). These studies investi12 gate two applications of dynamic concept information: visualization and profiling. 13 The paper demonstrates two different styles of concept visualization, which show 14 the proportion of overall time spent in each concept and the sequence of concept 15 execution, respectively. The profiling study concerns the interaction between run16 time compilation and garbage collection in Jikes RVM. For some benchmark cases, 17 we are able to obtain a significant reduction in garbage collection time. We discuss 18 how this phenomenon might be harnessed to optimize the scheduling of garbage 19 collection in Jikes RVM. 20

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Byte Code Engineering

The term “Java” is used to denote two different concepts: the language itself and the related execution environment, the Java Virtual Machine (JVM), which executes byte code instructions. Several research projects deal with byte code-generating compilers or the implementation of new features via byte code transformations. Examples are code optimization, the implementation of parameterized types...

متن کامل

Adaptive Online Program Analysis: Concepts, Infrastructure, and Applications

Dynamic analysis of state-based properties is being applied to problems such as validation, intrusion detection, and program steering and reconfiguration. Dynamic analysis of such properties, however, is used rarely in practice due to its associated run-time overhead that causes multiple orders of magnitude slowdown of program execution. In this paper, we present an approach for exploiting the ...

متن کامل

Visualising Dynamic Programming

In this paper, we demonstrate another approach with visualisation. The concepts of a game, combined with the use of colours (or shades of gray), is used to teach dynamic programming algorithms. We focus on sequence alignment algorithms, which are typical dynamic programming algorithms. (This program is written in Java and can be found at http://www.cse.unsw.edu.au/ ̃conanw/vdp.html.) Finally, we...

متن کامل

A Program Logic for Bytecode

Program logics for bytecode languages such as Java bytecode or the .NET CIL can be used to apply Proof-Carrying Code concepts to bytecode programs and to verify correctness properties of bytecode programs. This paper presents a Hoare-style logic for a sequential bytecode kernel language similar to Java bytecode and CIL. The logic handles object-oriented features such as inheritance, dynamic met...

متن کامل

An Empirical Study of Java Dynamic Call Graph Extractors

A dynamic call graph is the invocation relation that represents a specific set of runtime executions of a program. Dynamic call graph extraction is a typical application of dynamic analysis to aid compiler optimization, performance analysis, program understanding, etc. In this paper, we empirically compare the results of nine Java dynamic call graph extractors quantitatively and qualitatively. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007