Results 1 - 10
of
17
Steering Programs via Time Travel
- In IEEE Symposium on Visual Languages
, 1996
"... The environments programmers traditionally use for problem-solving---with separate modes and tools for writing, compiling, testing, visualizing, and debugging--- derive their basic structure from historical accident, and take little advantage of Human Computer Interaction (HCI) research into the cog ..."
Abstract
-
Cited by 22 (15 self)
- Add to MetaCart
The environments programmers traditionally use for problem-solving---with separate modes and tools for writing, compiling, testing, visualizing, and debugging--- derive their basic structure from historical accident, and take little advantage of Human Computer Interaction (HCI) research into the cognitive issues of programming. We believe that neglect of these issues impedes programmers' ability to produce reliable, maintainable software. Visual programming languages (VPLs) have begun to address this problem by creating more flexible, less modal programming environments, and we have taken a step further in this direction. In this paper, we describe a VPL in which programmers can modelessly steer as they specify, visualize, explore, and alter the behavior of a program while traveling through the program's logical time. This approach supports two often-neglected cognitive principles that HCI research shows can help programmers in their problem-solving. 1. Introduction Historically, pro...
A Seamless Integration of Algorithm Animation into a Visual Programming Language with One-Way Constraints
, 1996
"... Until now, only users of textual programming languages have enjoyed the fruits of algorithm animation. Users of visual programming languages (VPLs) have been deprived of the unique semantic insights algorithm animation offers, insights that would foster the understanding and debugging of visual prog ..."
Abstract
-
Cited by 19 (6 self)
- Add to MetaCart
Until now, only users of textual programming languages have enjoyed the fruits of algorithm animation. Users of visual programming languages (VPLs) have been deprived of the unique semantic insights algorithm animation offers, insights that would foster the understanding and debugging of visual programs. To begin solving this shortcoming, we have seamlessly integrated algorithm animation capabilities into Forms/3, a declarative VPL in which evaluation is the continuous maintenance of a network of one-way constraints. Our results show that a VPL that uses this constraint-based evaluation model can provide features not found in other algorithm animation systems. 1: Introduction Algorithm animation is a type of software visualization of growing importance. It is a dynamic visualization of the main abstractions of a program's underlying algorithm. The value of algorithm animation lies in its ability to portray the essence of the program's logic, avoiding the obscuring of this essence tha...
Toward Empirically-Based Software Visualization Languages
- IN: PROCEEDINGS OF THE 11TH IEEE SYMPOSIUM ON VISUAL LANGUAGES IEEE COMPUTER SOCIETY PRESS, LOS ALAMITOS, CA
, 1995
"... Single-user software visualization (SV) systems purport to empower people without expertise in graphics programming to develop their own visualizations interactively, and within minutes. Underlying any single-user SV system is a visualization language onto which its users must map the computations t ..."
Abstract
-
Cited by 16 (8 self)
- Add to MetaCart
Single-user software visualization (SV) systems purport to empower people without expertise in graphics programming to develop their own visualizations interactively, and within minutes. Underlying any single-user SV system is a visualization language onto which its users must map the computations they would like to visualize with the system. We hypothesize that the usability of such systems turns on their ability to provide an underlying visualization language that accords with the ways in which their users conceptualize the computations to be visualized. To explore the question of how to design visualization languages grounded in human conceptualization, we present an empirical study that made use of a research method called visualization storyboarding to investigate the human conceptualization of the bubblesort algorithm. Using an analytical framework based on entities, attributes, and transformations, we derive a semantic -level visualization language for bubblesort, in terms of which all visualizations observed in our study can be expressed. Our empirically-based visualization language provides a framework for predicting the usability of the visualization language defined by Lens [11,12], a prototypical single-user SV system. We draw from a follow-up usability study of Lens to substantiate our predictions.
Visualizing Application Behavior on Superscalar Processors
- IN INFOVIS
, 1999
"... The advent of superscalar processors with out-of-order execution makes it increasingly difficult to determine how well an application is utilizing the processor and how to adapt the application to improve its performance. In this paper, we describe a visualization system for the analysis of applicat ..."
Abstract
-
Cited by 13 (1 self)
- Add to MetaCart
The advent of superscalar processors with out-of-order execution makes it increasingly difficult to determine how well an application is utilizing the processor and how to adapt the application to improve its performance. In this paper, we describe a visualization system for the analysis of application behavior on superscalar processors. Our system provides an overview-plus-detail display of the application's execution. A timeline view of pipeline performance data shows the overall utilization of the pipeline, indicating regions of poor instruction throughput. This information is displayed using multiple time scales, enabling the user to drill down from a high-level application overview to a focus region of hundreds of cycles. This region of interest is displayed in detail using an animated cycle-by-cycle view of the execution. This view shows how instructions are reordered and executed and how functional units are being utilized. Additional context views correlate instructions in this detailed view with the relevant source code for the application. This allows the user to discover the root cause of the poor pipeline utilization and make changes to the application to improve its performance. This
Exploring Human Visualization of Computer Algorithms
, 1994
"... Many educators have used Algorithm Visualization (AV) to teach students of computer science about how computer algorithms work. Our study sheds light on two important questions: (a) How do people conceptualize algorithm animations in the first place; and (b) To what extent do such visualizations acc ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
Many educators have used Algorithm Visualization (AV) to teach students of computer science about how computer algorithms work. Our study sheds light on two important questions: (a) How do people conceptualize algorithm animations in the first place; and (b) To what extent do such visualizations accord with AV software. In the first half of this study, pairs of graduate students in computer science were asked to construct animations for a simple sort (bubble sort) using ordinary art materials. In the second half, they implemented a bubble sort visualization using an interactive AV program called LENS [1], which allows one to construct and view an animation of any C program. The way in which pairs visualized the same sort differed tremendously from each other and did not accord completely with the animation language provided by LENS. This paper analyzes those differences by a detailed examination of the semantics of the human visualizations, the algorithm code, and the LENS AV language.
The GraphVBT Interface for Programming Algorithm Animations
- IEEE SYMP. ON VISUAL LANGUAGES
"... The GraphVBT interface is used for programming algorithm animations within the Zeus system. GraphVBT provides a small number of primitive objects types -- vertices, edges, vertex highlights, and polygons -- and methods on them that are flexible enough to apply to animations of many classes of algori ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
The GraphVBT interface is used for programming algorithm animations within the Zeus system. GraphVBT provides a small number of primitive objects types -- vertices, edges, vertex highlights, and polygons -- and methods on them that are flexible enough to apply to animations of many classes of algorithms. The interface is presented and examples of its use are shown.
Using Visualization To Understand The Behavior Of Computer Systems
, 2001
"... As computer systems continue to grow rapidly in both complexity and scale, developers need tools to help them understand the behavior and performance of these systems. While information visualization is a promising technique, most existing computer systems visualizations have focused on very specifi ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
As computer systems continue to grow rapidly in both complexity and scale, developers need tools to help them understand the behavior and performance of these systems. While information visualization is a promising technique, most existing computer systems visualizations have focused on very specific problems and data sources, limiting their applicability. This dissertation introduces Rivet, a general-purpose environment for the development of computer systems visualizations. Rivet can be used for both real-time and post-mortem analyses of data from a wide variety of sources. The modular architecture of Rivet enables sophisticated visualizations to be assembled using simple building blocks representing the data, the visual representations, and the mappings between them. The implementation of Rivet enables the rapid prototyping of visualizations through a scripting language interface while still providing high-performance graphics and data management. The effectiveness of Rivet as a tool for computer systems analysis is demonstrated through a collection of case studies. Visualizations created using Rivet have been used to display: (a) line-by-line execution data from the SUIF Explorer interactive parallelizing compiler, enabling programmers to maximize the parallel speedups of their applications; (b) detailed memory system utilization data from the FlashPoint memory profiler, providing insights on both sequential and parallel program bottlenecks; (c) the behavior of applications running on superscalar processors, allowing developers to take full advantage of these complex CPUs; and (d) the real-time performance of computer systems and clusters, drawing attention to interesting or anomalous behavior. In addition to these focused examples, Rivet has been also used in co...
Automatic generation of language-based tools
- Electronic Notes in Theoretical Computer Science
, 2002
"... ..."
Visual Assistance for Concurrent Processing
, 2000
"... ABSTRACT....................................................................... ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
ABSTRACT.......................................................................

