By Topic

Visualizing Software for Understanding and Analysis, 2002. Proceedings. First International Workshop on

Date 26-26 June 2002

Filter Results

Displaying Results 1 - 14 of 14
  • Proceedings First International Workshop on Visualizing Software for Understanding and Analysis

    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (274 KB)  

    The following topics are dealt with: visualizing software for understanding and analysis; view definitions; UML collaboration diagram syntax; class diagrams; task oriented view; component-based software; analogical representations; metrics-based 3D visualization; object oriented software; and data flow. View full abstract»

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

    Page(s): 119
    Save to Project icon | Request Permissions | PDF file iconPDF (179 KB)  
    Freely Available from IEEE
  • Revision Towers

    Page(s): 43 - 50
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (304 KB) |  | HTML iconHTML  

    The use and development of open source software has increased significantly within the last decade. With it has come an increased, and necessary, use of version control tools to provide project management. A typical repository contains a mine of information that is not always obvious, and not easy to comprehend in its plain form. A visualisation has been created from this information to display how the repository has evolved. The visualisation allows the user to see where the active areas of the project are, how often, and how, changes are made, and how work is shared out across the project. Colour, layout and animation are all important features of the visualisation. In addition, issues of the importance and use of animation and consistency are raised A prototype tool has also been developed to show how the visualisation works in practice. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • UML collaboration diagram syntax: an empirical study of comprehension

    Page(s): 13 - 22
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (332 KB) |  | HTML iconHTML  

    The UML syntactic notation used in texts, papers, documentation and CASE tools is often different, despite UML being considered a software engineering standard. Our initial empirical study considered variations in the notation used for UML class diagrams; the experiment reported concentrates on UML collaboration diagrams. The decision as to which of the semantically equivalent notational variations within the UML standard to use appears to be according to the personal preference of the author or publisher, rather than based on any consideration of the ease with which the notation can be understood by human readers. This paper reports on an experiment that takes a human comprehension perspective on UML collaboration diagrams. Five notations were considered: for each, two semantically equivalent (yet syntactically or stylistically different), variations were chosen from published texts. Our experiment required subjects to indicate whether a supplied pseudo-code specification matched each of a set of experimental UML collaboration diagrams. The results reveal that our informal, personal intuitions (which were based on our view of the complexity of the notation) are validated with respect to confirming that a specification matches a diagram, but not when errors in a diagram are to be identified. The subjects' preferences are in favour of the more concise notational variants. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Runtime visualisation of object oriented software

    Page(s): 81 - 89
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (407 KB) |  | HTML iconHTML  

    Software is inherently dynamic, yet much of the analysis and comprehension processes focus entirely on the static source code of the software. This paper looks at how software visualisation offers a way to aid comprehension by displaying both static and dynamic aspects of a piece of software. A new visualisation is presented with specific focus on a class level summary view. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Aesthetics of class diagrams

    Page(s): 23 - 31
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (500 KB) |  | HTML iconHTML  

    Visualization of object-oriented programs by class diagrams is a widely used technique. So far no commonly agreed aesthetic criteria have been recorded in order to standardize and measure the quality of class diagrams. In this paper we focus on UML class diagrams, the standard notation for class diagrams in software engineering. We propose some aesthetic criteria which reflect the highly sophisticated features of UML class diagrams, a layout algorithm which respects all these features, and an implementation of a graph drawing framework which is able to produce drawings according to these criteria. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The CONCEPT project - applying source code analysis to reduce information complexity of static and dynamic visualization techniques

    Page(s): 90 - 99
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (597 KB) |  | HTML iconHTML  

    The goal of software visualization is to acquire sufficient knowledge about a software system by identifying program artifacts and understanding their relationships. Graphical representations have long been recognized as having an important impact in improving the comprehension of source code. In this paper, we present several visualization techniques that we combine with analytical source code analysis to reduce the amount and, therefore, the complexity of data that has to be displayed. In particular, we focus on static and dynamic program slicing and apply this source code analysis technique on tree maps, hyperbolic trees, and UML based visualization techniques to support programmers in creating better mental models of the source code. We also introduce our CONCEPT prototype and describe how the presented approaches can be applied to reduce the information complexity for particular source code comprehension applications. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A task oriented view of software visualization

    Page(s): 32 - 40
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (303 KB) |  | HTML iconHTML  

    A number of taxonomies to classify and categorize software visualization systems have been proposed in the past. Most notable are those presented by Price (1993) and Roman (1993). While these taxonomies are an accurate representation of software visualization issues, they are somewhat skewed with respect to current research areas on software visualization. We revisit this important work and propose a number of re-alignments with respect to addressing the software engineering tasks of large-scale development and maintenance. We propose a framework to emphasize the general tasks of understanding and analysis during development and maintenance of large-scale software systems. Five dimensions relating to the what, where, how, who, and why of software visualization make up this framework. The focus of this work is not so much as to classify software visualization system, but to point out the need for matching the method with the task. Finally, a number of software visualization systems are examined under our framework to highlight the particular problems each addresses. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualization of component-based software

    Page(s): 51 - 60
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (775 KB) |  | HTML iconHTML  

    New component-based techniques are emerging, leading to new ways to develop software. Industrial component technologies such as COM, JavaBeans, EJB, or CCM are powerful but their extensive use leads to component-based software products that are difficult to understand. This paper discusses several issues in visualizing component-based software products, namely the visualization of the component model itself, the visualization of software components and finally the visualization of software assemblies. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • View definitions for language-independent multiple-view program comprehension and editing

    Page(s): 3 - 12
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (439 KB) |  | HTML iconHTML  

    View-based editing provides a technique to integrate program analysis tools into the comprehension and editing process. The programmer may study the result of an analysis in a separate view window and make changes in the output, and the system will propagate the changes back to the original program. In this paper, we will study how view-based editors and editable views can be made technically realizable and cognitively usable. The most important technical aspects are data flow considerations, the frequency of transformations, and the treatment of failures. For users, the most significant properties are understandability in the users' framework, avoidance of unexpected changes or side effects, and the smoothness of successive cycles. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reification of program points for visual execution

    Page(s): 100 - 109
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (449 KB) |  | HTML iconHTML  

    Existing reification techniques for Java only allow for the inspection and manipulation of Java programs on the class, object and method level, but not at the level of individual program points. In this paper we introduce a reification technique of program points based on source-to-source transformations. Our reification method allows for the association of arbitrary meta-information with program points and to manipulate it during execution. We present examples of the innovative use of such reified program points for visualizing the execution of Java programs. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Metrics-based 3D visualization of large object-oriented programs

    Page(s): 70 - 77
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1274 KB) |  | HTML iconHTML  

    In this paper a new approach for a metrics based software visualization is presented, which supports an efficient and effective quality assessment of large object-oriented software systems. It is based on the combination of software metrics data with structure information to form a virtual information space. This information space is visualized using 3D graph structures that allow one to represent in a uniform way many aspects and views on it. The layout approach for these graphs uses a generic similarity measure to calculate geometric distances between the graph nodes and a force-directed mapping into 3D space. A particular strength of the approach is that the resulting geometrical structures can be well interpreted with respect to the architecture and design quality of the analysed software. Such 3D visualizations have been used successfully in several case studies for the quality assessment of industrial C++/Java projects. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Specifying algorithm visualizations in terms of data flow

    Page(s): 110 - 117
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (363 KB) |  | HTML iconHTML  

    Interesting events and state mapping are two approaches used to specify software visualization. They are applied in event-driven and data-driven visualization systems, respectively. Yet another approach, data flow mapping, is presented in the paper. However, similar to the state mapping, this new method of specification emphasizes dynamic rather then static aspect of the program execution. A comparison of these two approaches is provided in the paper. The basis for discussion is two algorithm animation systems: a data-driven Leonardo system, and a data-flow-driven system called Daphnis. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Analogical representations of programs

    Page(s): 61 - 69
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (601 KB) |  | HTML iconHTML  

    In order to enhance the process of discovering and understanding unknown programs, we developed Zeugma: a programming environment for the construction, development and experimentation of analogical representations of programs. We consider an analogical representation of programs as a representation where the different parts, for example houses in a city or spiders on a web, illustrate, in an analogical manner, particular aspects of the program-its composition, its behavior or the underlying algorithm-according to a user determined task like maintenance, optimization, program understanding and algorithm animation. Zeugma includes a special sub-system permitting to dynamically define desired representations by specifying formal relationships between chosen representations and the chosen aspects of the program under consideration. It is these relations, which permit Zeugma to automatically generate corresponding static or dynamic representations. View full abstract»

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