By Topic

Software Visualization (VISSOFT), 2013 First IEEE Working Conference on

Date 27-28 Sept. 2013

Filter Results

Displaying Results 1 - 25 of 35
  • [Front cover]

    Publication Year: 2013 , Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (127 KB)  
    Freely Available from IEEE
  • [Copyright notice]

    Publication Year: 2013 , Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (86 KB)  
    Freely Available from IEEE
  • Message from the Chairs

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | PDF file iconPDF (66 KB) |  | HTML iconHTML  
    Freely Available from IEEE
  • Keynote talk: Information visualization: Experiences and lessons learned

    Publication Year: 2013 , Page(s): 1
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (44 KB)  

    The visualization group of TU/e has worked on information visualization since 1998. In this talk I will give an overview of our work on tree, graph, and multivariate visualization, for a variety of applications, including software visualization. Techniques like cushion treemaps, squarified treemaps, hierarchical edge bundles, and flexible linked axes will be illustrated with demos. Furthermore, I will reflect on approaches for the development of new presentations and dealing with evaluation, based on our experience and lessons we learned. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An empirical study assessing the effect of seeit 3D on comprehension

    Publication Year: 2013 , Page(s): 1 - 10
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (583 KB) |  | HTML iconHTML  

    A study to assess the effect of SeeIT 3D, a software visualization tool is presented. Six different tasks in three different task categories are assessed in the context of a large open-source system. Ninety-seven subjects were recruited from three different universities to participate in the study. Two methods of data collection: traditional questionnaires and an eye-tracker were used. The main goal was to determine the impact and added benefit of SeeIT 3D while performing typical software tasks within the Eclipse IDE. Results indicate that SeeIT 3D performs significantly better in one task category namely overview tasks but takes significantly longer when completing bug fixing tasks. Scores obtained by the subjects in the SeeIT 3D group are 13% better and 45% faster for overview tasks. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Synchrovis: 3D visualization of monitoring traces in the city metaphor for analyzing concurrency

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1699 KB) |  | HTML iconHTML  

    The increasing code complexity in modern software systems exceeds the capabilities of most software engineers to understand the system's behavior by just looking at its program code. The addition of concurrency issues through the advent of multi-core processors in the consumer market further escalates this complexity. A solution to these problems is visualizing a model of the system to ease program comprehension. Especially for the comprehension of concurrency issues, static information is often not sufficient. For this purpose, profiling and monitoring can provide additional information on the actual behavior of a system. An established visualization approach is the 3D city metaphor. It utilizes the familiarity with navigating a city to improve program comprehension. In this paper, we present our trace-based SynchroVis 3D visualization approach for concurrency. It employs the city metaphor to visualize both static and dynamic properties of software systems with a focus on illustrating the concurrent behavior. To evaluate our approach, we provide an open source implementation of our concepts and present an exemplary dining philosophers scenario showing its feasibility. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Tool demonstration: The visualizations of code bubbles

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (906 KB) |  | HTML iconHTML  

    Code Bubbles is an integrated development environment that concentrates on the user experience. The environment is very visual and includes a number of different visualizations, both static and dynamic. We will demonstrate the environment and the various visualizations on a realistic scenario based on our current work. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • VisGi: Visualizing Git branches

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (213 KB) |  | HTML iconHTML  

    Git repositories quickly become highly complex structures that do not reveal much human-readable information beyond files and folders of active branches. This paper introduces VisGi, a tool to abstract and visualize the branch structure of Git repositories, as well as their folder trees. By interpreting branches as groups of aggregated commits, their dependencies are condensed into a directed acyclic graph, and displayed using graph layout strategies. Additionally, Sunburst diagrams are used to display the current content of these branches, the differences between each two branches, as well as the evolution along any singular selected path through the repository. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Performance evolution blueprint: Understanding the impact of software evolution on performance

    Publication Year: 2013 , Page(s): 1 - 9
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (514 KB) |  | HTML iconHTML  

    Understanding the root of a performance drop or improvement requires analyzing different program executions at a fine grain level. Such an analysis involves dedicated profiling and representation techniques. JProfiler and YourKit, two recognized code profilers fail, on both providing adequate metrics and visual representations, conveying a false sense of the performance variation root. We propose performance evolution blueprint, a visual support to precisely compare multiple software executions. Our blueprint is offered by Rizel, a code profiler to efficiently explore performance of a set of benchmarks against multiple software revisions. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing software dynamicities with heat maps

    Publication Year: 2013 , Page(s): 1 - 10
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1314 KB) |  | HTML iconHTML  

    Interactive software visualization offers a promising support for program comprehension, including program dynamicity. We present, the extension of an existing visualization tool with heat maps to explore the time and other dimensions of software. To this end, we first propose a framework to unify the two main software dynamicities, execution and evolution. Then, this unified framework is exploited to define a visualization environment based on heat maps. We illustrate our approach on two comprehension tasks: understanding the behavior of programmers during the evolution of an application and understanding class contributions in use cases. The case studies show that the heat-map metaphor contributes to answer, more easily, many of the questions important to program comprehension. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • ClonEvol: Visualizing software evolution with code clones

    Publication Year: 2013 , Page(s): 1 - 4
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1424 KB) |  | HTML iconHTML  

    We present ClonEvol, a visual analysis tool that assists in obtaining insight into the state and the evolution of a C/C++/Java source code base on project, file and scope level. ClonEvol combines information obtained from the software versioning system and contents of files that change between versions; The tool operates as tool-chain of Subversion (SVN), Doxygen (applied as static analyzer) and Simian as code duplication detector. The consolidated information is presented to the user in an interactive visual manner. The focus of the presented tool lies on scalability (in time and space) concerning data acquisition, data processing and visualization, and ease of use. The visualization is approached by using a (mirrored) radial tree to show the file and scope structures, complemented with hierarchically bundled edges that show clone relations. We demonstrate the use of ClonEvol on a real world code base. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • DEVis: A tool for visualizing software document evolution

    Publication Year: 2013 , Page(s): 1 - 4
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (289 KB) |  | HTML iconHTML  

    During the software development process many technical documents are produced. Such documents and their evolution history contain rich information about the development process. Analyzing these document changes may reveal regularities and anomalies which are helpful to understand the software system and its development process. In this paper, we propose DEVis, an interactive visualization tool to visualize the software documentation evolution and aid the tasks of analyzing software development process. We initially evaluated our tool using the knowledge task-based framework and discuss the challenging aspects and lessons learned during the development of DEVis. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • SourceVis: Collaborative software visualization for co-located environments

    Publication Year: 2013 , Page(s): 1 - 10
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (2470 KB) |  | HTML iconHTML  

    Most software development tools and applications are designed from a single-user perspective and are bound to the desktop and Integrated Development Environments (IDEs). These tools and applications make it hard for developers to analyse and interact with software artifacts collaboratively. We present SourceVisa multi-user collaborative software visualization application for use on large multi-touch tables. We describe the design and visualization features of SourceVis, present findings from a user study, and discuss the implications for building collaborative software visualization applications. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • CodeMetrpolis — A minecraft based collaboration tool for developers

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1006 KB) |  | HTML iconHTML  

    Data visualisation with high expressive power plays an important role in code comprehension. Recent visualisation tools try to fulfill the expectations of the users and use various analogies. For example, in an architectural metaphor, each class is represented by a building. Buildings are grouped into districts according to the structure of the namespaces. We think that these unique ways of code representation have great potential, but in our opinion they use very simple graphical techniques (shapes, figures, low resolution) to visualise the structure of the source code. On the other hand, computer games use high quality graphic and have high expressive power. A good example is Minecraft, a popular role playing game that supports both high definition, photorealistic textures and long range 3D scene displaying. Additionally, it provides great extensibility and interactivity for third party software. In this paper, we introduce our mission to create a virtual world of source code in which developers and other stakeholders could explore and evaluate their project collaboratively in a virtual Minecraft world. Code properties are represented by graphical primitives offered by the game engine, and various interactivity features are planned. Besides challenges of the implementation there are some fundamental research issues considering the selection of a set of visual elements and mapping to source code properties. These elements have to be compatible not only with the visualisation and with the data model but also with the thinking of developers. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing emotions in software development projects

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (290 KB) |  | HTML iconHTML  

    Developers and managers need to be aware of the emotional climate of the projects they are involved to take corrective actions when necessary and to have a better understanding of the social factors affecting the project. With the growing trend of distributed teams and textual communication this type of awareness is more difficult to obtain and maintain. We propose to improve emotional climate awareness in software development projects by means of a visualization prototype which includes general and detailed views of the topics and emotions expressed in software project collaboration artifacts. We performed an initial case study in which the mailing list content of a software project was visualized. The study suggests that the length, frequency and emotion diversity of the exchanged content varies according to the project phase. However, a more extensive evaluation needs to be made. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Finding structures in multi-type code couplings with node-link and matrix visualizations

    Publication Year: 2013 , Page(s): 1 - 10
    Cited by:  Papers (4)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (393 KB) |  | HTML iconHTML  

    Software systems are often modeled and visualized as graphs in order to understand their higher-level structure: code entities are connected by dependencies or couplings. However, when only considering one type of code coupling such as method calls, the understanding gained stays limited to this specific aspect. Encoding multiple types of code coupling in the graph promises to broaden the understanding. Different approaches already exist for visually discerning those types in graph diagrams. In this paper, we study two of these techniquesa node-link and a matrix approach-in a realistic scenario where the classes and interfaces of a system are connected by six different types of code coupling. The explorative user study that we conducted with interactive versions of the two visualizations focuses on getting an insight on how software developers use the visualizations for understanding an unknown system. We classified typical visual structures that the participants were able to identify and connected these structures to software engineering problems. Despite the fundamental difference in approach, the participants identified the same graph structures targeting similar tasks with both visualizations. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing the workflow of developers

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1550 KB) |  | HTML iconHTML  

    Developers use the Integrated Development Environment (IDE) to develop a system at hand, by reading, understanding, and writing its source code. They do so by exploiting the tools and facilities provided by the IDE. This also allows them to build a mental model of the system to perform informed changes. It is however not clear how and when developers use which facility and tool, and to what extent the current services offered by the IDE appropriately support the navigation. We present an approach to visualize the activities of developers within the IDE, implemented in a tool: DFLow. DFLOW records all IDE interactions that occur during a development session and visualizes them through a web-based visualization platform. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing time and geography of open source software with storygraph

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (380 KB) |  | HTML iconHTML  

    Free/Libre and Open source software are generally maintained by a group of developers contributing to the software voluntarily without the presence of any governing institution. Online collaboration platforms and sub-version systems allow developers from all over the world with the necessary skills to contribute to the software. Recently, there has been much interest in analyzing the developers' geographic location since it also serves as a socio-economic marker. In this paper we present our spatio-temporal visualization technique called Storygraph that shows the developers, developer locations and the frequency of commits based on the commit log in one integrated view. We also apply our techniques to the VCS of Rails, Homebrew and D3.js obtained from GitHub. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visuocode: A software development environment that supports spatial navigation and composition

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (264 KB) |  | HTML iconHTML  

    Navigating through software is an integral part of software development. Studies have identified that during navigation programmers often become disoriented and lose task awareness. To mitigate this, the method-flow visualisation technique displays traversed methods in adjacent editor columns. This paper presents the Visuocode software development environment, which is an implementation of method-flow that, in addition to navigation, supports program composition. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • SYNCTRACE: Visual thread-interplay analysis

    Publication Year: 2013 , Page(s): 1 - 10
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1303 KB) |  | HTML iconHTML  

    In software comprehension, program traces are important to gain insight into certain aspects of concurrent runtime behavior, e.g., thread-interplay. Here, key tasks are finding usages of blocking operations, such as synchronization and I/O operations, assessing temporal order of such operations, and analyzing their effects. This is a hard task for large and complex program traces due to their size and number of threads involved. In this paper, we present SYNCTRACE a new visualization technique based on (bended) activity diagrams and edge bundles that allows for parallel analysis of multiple threads and their inter-thread correspondences. We demonstrate how the technique, implemented as a tool, can be applied on real-world trace datasets to support understanding concurrent behavior. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing jobs with shared resources in distributed environments

    Publication Year: 2013 , Page(s): 1 - 10
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1932 KB) |  | HTML iconHTML  

    In this paper we describe a visualization system that shows the behavior of jobs in large, distributed computing clusters. The system has been in use for two years, and is sufficiently generic to be applied in two quite different domains: a Hadoop MapReduce environment and the Watson DeepQA DUCC cluster. Scalable and flexible data processing systems typically run hundreds or more of simultaneous jobs. The creation, termination, expansion and contraction of these jobs can be very dynamic and transient, and it is difficult to understand this behavior without showing its evolution over time. While traditional monitoring tools typically show either snapshots of the current load balancing or aggregate trends over time, our new visualization technique shows the behavior of each of the jobs over time in the context of the cluster, and in either a real-time or post-mortem view. Its new algorithm runs in realtime mode and can make retroactive adjustments to produce smooth layouts. Moreover, our system allows users to drill down to see details about individual jobs. The visualization has been proven useful for administrators to see the overall occupancy, trends and job allocations in the cluster, and for users to spot errors or to monitor how many resources are given to their jobs. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Live trace visualization for comprehending large software landscapes: The ExplorViz approach

    Publication Year: 2013 , Page(s): 1 - 4
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (428 KB) |  | HTML iconHTML  

    The increasing code complexity in modern enterprise software systems exceeds the capabilities of most software engineers to understand the system's behavior by just looking at its program code. Large software landscapes, e.g., applications in a cloud infrastructure, further increase this complexity. A solution to these problems is visualizing the applications of the software landscape to ease program comprehension and to understand the respective communication. An established visualization concept is the 3D city metaphor. It utilizes the familiarity with navigating a city to improve program comprehension. Dynamic analysis, e.g., monitoring, can provide the required program traces of the communication. In this paper, we present our live visualization approach of monitoring traces for large software landscapes. It combines a landscape and a system level perspective. The landscape level perspective provides an overview of the software landscape utilizing the viewer's familiarity with UML. The system level perspective provides a visualization utilizing the city metaphor for each software system. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing constituent behaviors within executions

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1464 KB) |  | HTML iconHTML  

    In this New Ideas and Emerging Results paper, we present a novel visualization, THE BRAIN, that reveals clusters of source code that co-execute to produce behavioral features of the program throughout and within executions. We created a clustered visualization of source-code that is informed by dynamic control flow of multiple executions; each cluster represents commonly interacting logic that composes software features. In addition, we render individual executions atop the clustered multiple-execution visualization as user-controlled animations to reveal characteristics of specific executions-these animations may provide exemplars for the clustered features and provide chronology for those behavioral features, or they may reveal anomalous behaviors that do not fit with the overall operational profile of most executions. Both the clustered multiple-execution view and the animated individual-execution view provide insights for the constituent behaviors within executions that compose behaviors of whole executions. Inspired by neural imaging of human brains of people who were subjected to various external stimuli, we designed and implemented THE BRAIN to reveal program activity during execution. The result has revealed the principal behaviors of execution, and those behaviors were revealed to be (in some cases) cohesive, modular source-code structures and (in other cases) cross-cutting, emergent behaviors that involve multiple modules. In this paper, we describe THE BRAIN and envisage the uses to which it can be put, and we provide two example usage scenarios to demonstrate its utility. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing the allocation and death of objects

    Publication Year: 2013 , Page(s): 1 - 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (597 KB) |  | HTML iconHTML  

    We present memory allocation and death plots, a visualization technique for showing both which method an object is allocated in a Java program, and in which method that object eventually dies. This relates the place in a program's execution where memory is first used to the place it is no longer used, thus helping the programmer to better understand the memory behavior of a program. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using HTML5 visualizations in software fault localization

    Publication Year: 2013 , Page(s): 1 - 10
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (967 KB) |  | HTML iconHTML  

    Testing and debugging is the most expensive, error-prone phase in the software development life cycle. Automated software fault localization can drastically improve the efficiency of this phase, thus improving the overall quality of the software. Amongst the most well-known techniques, due to its efficiency and effectiveness, is spectrum-based fault localization. In this paper, we propose three dynamic graphical forms using HTML5 to display the diagnostic reports yielded by spectrum-based fault localization. The visualizations proposed, namely Sunburst, Vertical Partition, and Bubble Hierarchy, have been implemented within the GZOLTAR toolset, replacing previous and less-intuitive OpenGL-based visualizations. The GZOLTAR toolset is a plug-and-play plugin for the Eclipse IDE to ease world-wide adoption. Finally, we performed an user study with GZOLTAR and confirmed that the visualizations help to drastically reduce the time needed in debugging (e.g., all participants using the visualizations were able to pinpoint the fault, whereas of those using traditional methods only 35% found the fault). The group that used the visualizations took on average 9 minutes and 17 seconds less than the group that did not use them. View full abstract»

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