Combining static and dynamic data in code visualization
David Eng
- 18 Nov 2002
- Vol. 28, Iss: 1, pp 43-50
TL;DR: A visualization framework based on a new, extensible language called JIL which provides a common format for encapsulating intermediate representations and associating them with compile-time and runtime data and is presented in the form of a new web-based visualizer, allowing JIL documents to be visualized online in a portable, customizable interface.
read more
Abstract: The task of developing, tuning, and debugging compiler optimizations is a difficult one which can be facilitated by software visualization. There are many characteristics of the code which must be considered when studying the kinds of optimizations which can be performed. Both static data collected at compile-time and dynamic runtime data can reveal opportunities for optimization and affect code transformations. In order to expose the behavior of such complex systems, visualizations should include as much information as possible and accommodate the different sources from which this information is acquired.This paper presents a visualization framework designed to address these issues. The framework is based on a new, extensible language called JIL which provides a common format for encapsulating intermediate representations and associating them with compile-time and runtime data. We present new contributions which extend existing compiler and profiling frameworks, allowing them to export the intermediate languages, analysis results, and code metadata they collect as JIL documents. Visualization interfaces can then combine the JIL data from separate tools, exposing both static and dynamic characteristics of the underlying code. We present such an interface in the form of a new web-based visualizer, allowing JIL documents to be visualized online in a portable, customizable interface.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Combining Probabilistic Ranking and Latent Semantic Indexing for Feature Identification
Denys Poshyvanyk,Andrian Marcus,Vaclav Rajlich,Yann-Gaël Guéhéneuc,Giuliano Antoniol +4 more
- 14 Jun 2006
TL;DR: The results show that the combined technique improves feature identification significantly with respect to each technique used independently, and this work recasts the problem of feature location in source code as a decision-making problem in the presence of uncertainty.
An infrastructure to support interoperability in reverse engineering
TL;DR: This work presents an infrastructure that supports interoperability among reverse engineering tools and applications, including the hierarchy of schemas that captures the interactions among graph structures.
Patent
Customized Data Retrieval Applications for Mobile Devices Providing Interpretation of Markup Language Data
Elad Gil,Shumeet Baluja,Maryam Kamvar,Cedric Beust +3 more
- 19 Sep 2005
TL;DR: In this paper, a data retrieval application includes instructions for presenting a structured data display on the mobile device, defining a structure of the structured data displays, requesting selected hyperlinks included in the display, and rendering markup language information received in response to the selected hyperlink.
24
STEP: a framework for the efficient encoding of general trace data
Rhodes Brown,Karel Driesen,David Eng,Laurie Hendren,John Jorgensen,Clark Verbrugge,Qin Wang +6 more
- 18 Nov 2002
TL;DR: Step as mentioned in this paper is a system designed to provide profiler developers with a standard method for encoding general program trace data in a flexible and compact format, consisting of a trace data definition language along with a compiler and an architecture that simplifies the client interface.
Patent
Continuous evaluation of program code and saving state information associated with program code
Joseph R. Bienkowski,John E. Booker +1 more
- 28 Sep 2012
TL;DR: In this paper, a device receives a program code being created or edited, executes a first portion of the program code to generate a first result, and then executes a second portion of code to determine a difference between the first result and the second result.
17
References
Soot: a Java bytecode optimization framework
Raja Vallée-Rai,Phong Co,Etienne Gagnon,Laurie Hendren,Patrick Lam,Vijay Sundaresan +5 more
- 01 Nov 2010
TL;DR: Soot, a framework for optimizing Java* bytecode, is implemented in Java and supports three intermediate representations for representing Java bytecode: Baf, a streamlined representation of bytecode which is simple to manipulate; Jimple, a typed 3-address intermediate representation suitable for optimization; and Grimp, an aggregated version of Jimple suitable for decompilation.
Software visualization in the large
Thomas Ball,Stephen G. Eick +1 more
TL;DR: The invisible nature of software hides system complexity, particularly for large team-oriented projects, and four innovative visual representations of code have evolved to help solve this problem: line representation; pixel representation; file summary representation; and hierarchical representation.
Optimizing Java Bytecode Using the Soot Framework: Is It Feasible?
Raja Vallée-Rai,Etienne Gagnon,Laurie Hendren,Patrick Lam,Patrice Pominville,Vijay Sundaresan +5 more
- 25 Mar 2000
TL;DR: The approach to class file optimization is to first convert the stack-based bytecode into Jimple, a three-address form more amenable to traditional program optimization, and then convert the optimized Jimple back to bytecode.
Practical virtual method call resolution for Java
Vijay Sundaresan,Laurie Hendren,Chrislain Razafimahefa,Raja Vallée-Rai,Patrick Lam,Etienne Gagnon,Charles Godin +6 more
- 01 Oct 2000
TL;DR: This paper addresses the problem of resolving virtual method and interface calls in Java bytecode by developing a technique that can be solved with only one iteration, and thus scales linearly with the size of the program, while at the same time providing more accurate results than two popular existing linear techniques, class hierarchy analysis and rapid type analysis.
Extensible Markup Language (XML)
Erik Wilde
- 01 Jan 1999
TL;DR: Die Extensible Markup Language (XML) definiert, die es ermoglicht, anwendungsspezifische Dokumenttypen zu verwenden, die in einer XML-Umgebung erstellt, verbreitet and interpretiert werden konnen.
250
Related Papers (5)
Robert W. Bowdidge,William G. Griswold +1 more
- 01 Dec 1994
Alexander Breckel,Matthias Tichy +1 more
- 16 May 2016
Spiros Mancoridis,Maher Salah +1 more
- 01 Jan 2005