1,015 research outputs found

    Evaluating Visual Realism in Drawing Areas of Interest on UML Diagrams

    Get PDF
    Areas of interest (AOIs) are defined as an addition to UML diagrams: groups of elements of system architecture diagrams that share some common property. Some methods have been proposed to automatically draw AOIs on UML diagrams. However, it is not clear how users perceive the results of such methods as compared to human-drawn areas of interest. We present here a process of studying and improving the perceived quality of computer-drawn AOIs. We qualitatively evaluated how users perceive the quality of computer- and human-drawn AOIs, and used these results to improve an existing algorithm for drawing AOIs. Finally, we designed a quantitative comparison for AOI drawings and used it to show that our improved renderings are closer to human drawings than the original rendering algorithm results. The combined user evaluation, algorithmic improvements, and quantitative comparison support our claim of improving the perceived quality of AOIs rendered on UML diagrams.

    Code Flows: Visualizing Structural Evolution of Source Code

    Get PDF
    Understanding detailed changes done to source code is of great importance in software maintenance. We present Code Flows, a method to visualize the evolution of source code geared to the understanding of fine and mid-level scale changes across several file versions. We enhance an existing visual metaphor to depict software structure changes with techniques that emphasize both following unchanged code as well as detecting and highlighting important events such as code drift, splits, merges, insertions and deletions. The method is illustrated with the analysis of a real-world C++ code system.

    Code Flows: Visualizing Structural Evolution of Source Code

    Get PDF
    Understanding detailed changes done to source code is of great importance in software maintenance. We present Code Flows, a method to visualize the evolution of source code geared to the understanding of fine and mid-level scale changes across several file versions. We enhance an existing visual metaphor to depict software structure changes with techniques that emphasize both following unchanged code as well as detecting and highlighting important events such as code drift, splits, merges, insertions and deletions. The method is illustrated with the analysis of a real-world C++ code system.

    Patch-type Segmentation of Voxel Shapes using Simplified Surface Skeletons

    Get PDF
    We present a new method for decomposing a 3D voxel shape into disjoint segments using the shape’s simplified surface-skeleton. The surface skeleton of a shape consists of 2D manifolds inside its volume. Each skeleton point has a maximally inscribed ball that touches the boundary in at least two contact points. A key observation is that the boundaries of the simplified fore- and background skeletons map one-to-one to increasingly fuzzy, soft convex, respectively concave, edges of the shape. Using this property, we build a method for segmentation of 3D shapes which has several desirable properties. Our method segments both noisy shapes and shapes with soft edges which vanish over low-curvature regions. Multiscale segmentations can be obtained by varying the simplification level of the skeleton. We present a voxel-based implementation of our approach and illustrate it on several realistic examples.

    Texture-based Visualization of Metrics on Software Architectures

    Get PDF
    We present a method that combines textures, blending, and scattered-data interpolation to visualize several metrics defined on overlapping areas-of-interest on UML class diagrams. We aim to simplify the task of visually correlating the distribution and outlier values of a multivariate metric dataset with a system’s structure. We illustrate our method on a class diagram of a real-world system.

    A Tool for Optimizing the Build Performance of Large Software Code Bases

    Get PDF
    We present Build Analyzer, a tool that helps developers optimize the build performance of huge systems written in C. Due to complex C header dependencies, even small code changes can cause extremely long rebuilds, which are problematic when code is shared and modified by teams of hundreds of individuals. Build Analyzer supports several use cases. For developers, it provides an estimate of the build impact and distribution caused by a given change. For architects, it shows why a build is costly, how its cost is spread over the entire code base, which headers cause build bottlenecks, and suggests ways to refactor these to reduce the cost. We demonstrate Build Analyzer with a use-case on a real industry code base.

    Robust Segmentation of Voxel Shapes using Medial Surfaces

    Get PDF
    We present a new patch-type segmentation method for 3D voxel shapes based on the medial surface, also called surface skeleton. The boundaries of the simplified fore- and background skeletons map one-to-one to increasingly fuzzy, soft convex, respectively concave, edges of the shape. Using this property, we build a method for segmentation of 3D shapes which has several desirable properties. Our method robustly segments both noisy shapes and shapes with soft edges which vanish over low-curvature regions. As the segmentation is based on the skeleton, it reflects the symmetry of the input shape. Finally, multiscale segmentations can be obtained by varying the simplification level of the skeleton. We present a voxel-based implementation of our approach and demonstrate it on several examples.

    Robust Feature Detection and Local Classification for Surfaces Based on Moment Analysis

    Get PDF
    The stable local classification of discrete surfaces with respect to features such as edges and corners or concave and convex regions, respectively, is as quite difficult as well as indispensable for many surface processing applications. Usually, the feature detection is done via a local curvature analysis. If concerned with large triangular and irregular grids, e.g., generated via a marching cube algorithm, the detectors are tedious to treat and a robust classification is hard to achieve. Here, a local classification method on surfaces is presented which avoids the evaluation of discretized curvature quantities. Moreover, it provides an indicator for smoothness of a given discrete surface and comes together with a built-in multiscale. The proposed classification tool is based on local zero and first moments on the discrete surface. The corresponding integral quantities are stable to compute and they give less noisy results compared to discrete curvature quantities. The stencil width for the integration of the moments turns out to be the scale parameter. Prospective surface processing applications are the segmentation on surfaces, surface comparison, and matching and surface modeling. Here, a method for feature preserving fairing of surfaces is discussed to underline the applicability of the presented approach.

    Combining Extended Table Lens and Treemap Techniques for Visualizing Tabular Data

    Get PDF
    corecore