By Topic

Visualizing Software for Understanding and Analysis, 2005. VISSOFT 2005. 3rd IEEE International Workshop on

Date 25-25 Sept. 2005

Filter Results

Displaying Results 1 - 25 of 36
  • [Cover]

    Page(s): C1
    Save to Project icon | Request Permissions | PDF file iconPDF (251 KB)  
    Freely Available from IEEE
  • Copyright page

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (145 KB)  
    Freely Available from IEEE
  • Table of contents

    Page(s): 1 - 2
    Save to Project icon | Request Permissions | PDF file iconPDF (277 KB)  
    Freely Available from IEEE
  • Message from the Organizers

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (157 KB)  
    Freely Available from IEEE
  • Organizing Committee

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (151 KB)  
    Freely Available from IEEE
  • All things UML [Breaker page]

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (120 KB)  
    Freely Available from IEEE
  • SAB - The Software Architecture Browser

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (4315 KB) |  | HTML iconHTML  

    Sab is a tool for automatic generation of class diagrams from Java code. In addition to hierarchical layout, it features a wealth of user interaction facilities for dealing with complex software. Its main trait, however, is its support for visualizing hierarchical layers of a system. Sab is well suited for exploring and reengineering arbitrary systems, including the standard libraries. The central features of the tool are presented, and an overview on its implementation is given View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Interactive Exploration of UML Sequence Diagrams

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (5751 KB) |  | HTML iconHTML  

    Sequence diagrams are commonly used to represent object interactions in software systems. Reverse-engineered sequence diagrams, which are constructed from existing code, are becoming widely available to more programmers through modern commercial and research UML tools. However, due to their large size and inefficient spatial design, such diagrams can easily become useless. We discuss the visual limitations of UML sequence diagrams and present a set of techniques for overcoming these limitations. These techniques allow a programmer to explore interactively various aspects of large real-world sequence diagrams in order to gain insights about the behavior of the underlying software. We have implemented a prototype tool based on these techniques, and we have used it to enhance our comprehension of sequence diagrams that were constructed from code in the standard Java libraries. This paper discusses some insights from our experience, and their implications for the builders of visualization tools View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Evaluating UML Class Diagram Layout based on Architectural Importance

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3290 KB) |  | HTML iconHTML  

    The paper presents and assesses a layout scheme for UML class diagrams that takes into account the architectural importance of a class in terms of its stereotype (e.g., boundary, control, entity). The design and running of a user study is described. The results of the study supports the hypothesis that layout based on architectural importance is more helpful in class diagram comprehension compared to layouts focusing primarily on aesthetics and/or abstract graph guidelines View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Metrics and more [breaker page]

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (125 KB)  
    Freely Available from IEEE
  • Visual Exploration of Combined Architectural and Metric Information

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (5677 KB) |  | HTML iconHTML  

    We present MetricView, a software visualization and exploration tool that combines traditional UML diagram visualization with metric visualization in an effective way. MetricView is very easy and natural to use for software architects and developers yet offers a powerful set of mechanisms that allow fine customization of the visualizations for getting specific insights. We discuss several visual and architectural design choices which turned out to be important in the construction of MetricView, and illustrate our approach with several results using real-life datasets View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visual Realism for the Visualization of Software Metrics

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (5213 KB) |  | HTML iconHTML  

    The visualization techniques used in current software visualization frameworks make use of a limited set of graphical elements to highlight relevant aspects of a software system. Typical examples of such elements are text, simple geometric shapes and uniform color fills. Although human visual perception enables rapid processing of additional visual cues like shading and texture, they are not used. We contend that such 2D and 3D computer graphics techniques for achieving visual realism can be used to increase the information throughput of software visualization techniques. Visualization results are presented to show how treemaps, cushions, color, texture, and bump mapping can be used to visualize software metrics of hierarchically organized elements of a software system View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Multi-level Method Understanding Using Microprints

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3954 KB) |  | HTML iconHTML  

    Understanding classes and methods is a key activity in object-oriented programming, since classes represent the primary abstractions from which applications are built, while methods contain the actual program logic. The main problem of this task is to quickly grasp the purpose and inner structure of a class. To achieve this goal, one must be able to overview multiple methods at once. In this paper, we present microprints, pixel-based representations of methods enriched with semantic information. We present three specialized microprints each dealing with a specific aspect we want to understand of methods: (1) state access, (2) control flow, and (3) invocation relationship View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software change and evolution [Breaker page]

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (135 KB)  
    Freely Available from IEEE
  • White Coats: Web-Visualization of Evolving Software in 3D

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3771 KB) |  | HTML iconHTML  

    Versioning systems to store, handle, and retrieve the evolution of software systems have become a common good practice for both industrial and open-source software systems, currently exemplified by the wide usage of the CVS system. The stored information can then be manually retrieved over a command line or looked at with a browser using the ViewCVS tool. However, the information contained in the repository is difficult to navigate as ViewCVS provides only a textual view of single versions of the source files. In this paper we present an approach to visualize a CVS repository in 3D (using VRML) by means of a visualization service called White Coats. The viewer can easily navigate and interact with the visualized information View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Fractal Figures: Visualizing Development Effort for CVS Entities

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (3779 KB) |  | HTML iconHTML  

    Versioning systems such as CVS or Subversion exhibit a large potential to investigate the evolution of software systems. They are used to record the development steps of software systems as they make it possible to reconstruct the whole evolution of single files. However, they provide no good means to understand how much a certain file has been changed over time and by whom. In this paper we present an approach to visualize files using fractal figures, which: (1) convey the overall development effort; (2) illustrate the distribution of the effort among various developers; and (3) allow files to be categorized in terms of the distribution of the effort following gestah principles. Our approach allows us to discover files of high development efforts in terms of team size and effort intensity of individual developers. The visualizations allow an analyst or a project manager to get first insights into team structures and code ownership principles. We have analyzed Mozilla as a case study and we show some of the recovered team development patterns in this paper as a validation of our approach View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Interactive Visual Mechanisms for Exploring Source Code Evolution

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (5224 KB) |  | HTML iconHTML  

    The visual code navigator (VCN) is an ongoing effort to build a visual environment for interactive visualization of large source code bases. We present two techniques that extend the previous work done on the VCN. We propose an efficient and effective mechanism for specifying and visualizing queries on the source code. Next, we show a new project evolution view that offers global insight in change correlations that span several files, and thus lets users sport possible inconsistencies, problems, or undesired project structuring. We illustrate both mechanisms using a real-life C++ source code base View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Full text access may be available. Click article title to sign in or learn about subscription options.
  • The Paradox of Software Visualization

    Page(s): 1 - 5
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1056 KB) |  | HTML iconHTML  

    Software visualization seems like such a logical and helpful concept with obvious benefits and advantages. But after decades of research and work, it has yet to be successful in any mainstream development environment. What is the reason for this paradox? Will software visualization ever be actually widely used? In this paper we argue that most past and current work in the field (our own included) is out of touch with the reality of software development and that new approaches and new ideas are needed View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Towards More Flexibility in Software Visualization Tools

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2859 KB) |  | HTML iconHTML  

    Software visualization has been researched for years, but current IDEs lack support for modern visualization techniques. It seems that the tools are either focused and not applicable to a broad range of tasks, or they are generic but do not provide good support for specific tasks. What is needed are tools that provide flexibility to customize the visualization technique, layout, and appearance, and enable users to aggregate and filter information based on various attributes. We make a case for a layered software visualization framework, which exposes such flexibility to the user. Having such a tool, developers are capable to customize visualization in an easy manner, so that it is most appropriate for their current task View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • User Perspectives on a Visual Aid to Program Comprehension

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1242 KB) |  | HTML iconHTML  

    In an experiment to investigate the utility of variable dependency diagrams, the unsolicited comments of the participants provide important insights into the characteristics of effective visualisations. The data obtained during the experiment provides support for these insights and suggests that to be effective, visualisations must unify the information they provide with the needs of programmers. As well, programmers require training in the use of specific visualisations since, during maintenance tasks, their need to focus on the task causes them to avoid the distraction of learning new, unfamiliar tools. When maintenance requires source code manipulation, visualisations must be capable of directly linking information to the code, as programmers are often incapable or unwilling to identify relationships between the visualisation and the code View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Framework for Software Architecture Visualisation Assessment

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (513 KB) |  | HTML iconHTML  

    In order to assess software architecture visualisation strategies, we qualitatively characterize then construct an assessment framework with 7 key areas and 31 features. The framework is used for evaluation and comparison of various strategies from multiple stakeholder perspectives. Six existing software architecture visualisation tools and a seventh research tool were evaluated. All tools exhibited shortcomings when evaluated in the framework View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Relationships in Software

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (144 KB)  
    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The Dominance Tree in Visualizing Software Dependencies

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1591 KB) |  | HTML iconHTML  

    Dominance analysis from graph theory allows one to locate subordinated software elements in a rooted dependency graph. It identifies the nesting structure for a dependency graph as a dominance tree, and, hence, adds information not immediately visible in large and complex graphs. Moreover, the subordination (or locality) can be leveraged for drawing dependency graphs. This paper envisions ways to leverage the dominance relation for structuring and presenting large dependency graphs. To explore the feasibility of these hinds of visualization, we measure dominance trees for large software systems written in different programming languages. These measurements give us the necessary information to design a usable visualization View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Exploring Relations within Software Systems Using Treemap Enhanced Hierarchical Graphs

    Page(s): 1 - 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (5625 KB) |  | HTML iconHTML  

    The clear and meaningful visualization of relations between software entities is an invaluable tool for the comprehension, evaluation, and reengineering of the structure of existing software systems. This paper presents an interaction and representation scheme for the visualization and exploration of complex hierarchical graphs to analyze relations within software systems. Thereby aggregated parts of the software system are represented as treemaps that visualize the structure of the contained software entities. An adaptation of existing rectangle-based treemap algorithms for layouts within convex polygonal bounding geometries is introduced to allow for a differentiation of various entity types in the graph visualization. Furthermore, a visual clustering method based on implicit surfaces is presented to create meaningful visualizations of distorted hierarchical graphs of software systems View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.