Dynamic Analysis of Java Program Concepts
نویسندگان
چکیده
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
منابع مشابه
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