Site Network: OverviewV-TRaMDisIRE

Trace visualization with TraVis

TraVis is an abbreviation for Trace Visualization and is and integral part of the V-TRaM solution architecture. Here you can experience how trace visualization is achieved in distributed software engineering.

 

 

Implementing V-TRaM

Solution architecture

The V-TRaM solution architecture consist of three main components. The source code management which is attached to the collaboration platform and the TraVis tool.

 

Collaborative software development platform

The V-TRaM approach is based on the assumption that a collaboration platform is utilized in order to implement the information model. Complementarily, the actual functionality for using traceability management can be deployed. To enable this functionality, a minimum set of platform features is required. Collaborative software development platforms must include an issue tracker which also features the tracing of states of activity realization as well as change requests and related rationale comments. Moreover, artifacts such as documents (document management system), wiki pages (wiki engine), and source code (source code management) need to support versioning for status tracking as well. Plus, the platform must provide an advanced user management implementing different semantic contribution structures such as submitted by, modified by, and assigned to. In order to also represent these contribution structures for source code artifacts, a connection to common source code management systems, e.g. CVS or Subversion, is required. In addition, most platforms and source code management tools include both a browser frontend and an IDE plugin for accessing trackers and artifact repositories outside the Eclipse development environment, for instance.

Trace visualization and analysis tool

Based on the information model and services, especially for collaborative software development platform, V-TRaM depends on platform extensions which provide visualization capabilities for representing, analyzing, and maintaining traceability networks. The solution architecture described above therefore specifies TraVis as an additional tool for trace visualization. TraVis in turn synchronizes its internal object model via a Web Service interface with the information model of the collaborative software development platform. Therefore it does not need a redundant persistence layer due to current developments such as fast binary web service protocols and increasing Internet connection bandwidth.

TraVis

TraVis was implemented with a focus on different features of trace representation. To concisely represent the traceability of the collaborative software development platform as a graph, TraVis provides various graph element options, filters, and views suitable for different traceability and rationale management use cases. Manual selection or exclusion of particular elements of the information model, e.g. particular artifact or link types or by means of check box menus, allows a reduction of network complexity. By combining several criteria for manual selection including edge labels, predefined views can be created, e.g. when it comes to analyzing team collaboration structures and thus the monitoring of individual and team performance. In addition, filtering mechanisms further reduce network complexity and facilitate analyses by eliminating inactive users and artifacts not related to any other elements as well as completed activities. Moreover, graph transformations such as automatic re-layout of graph elements and zooming - in combination with selection and filtering - facilitate focusing on specific contexts of the traceability network.

TraVis also comes along with some trace analysis features. For analyzing the elements of graph representation, search functions provide a very basic means of reducing network complexity. In order to be able to do so both the platform for collaborative software development and TraVis provide simple type ahead search and more sophisticated IR-based searches. Complementary to reducing the overall graph, TraVis also provides the opportunity of incremental exploration and navigation from a certain network node. This in turn supports both change management in terms of impact analysis and rationale analysis on the basis of additional information on related artifacts and stakeholders as well as change histories with justification comments. Moreover, value-based traceability analysis, i.e. customer value analysis based on the results of requirement analyses is enabled by calculating the vertex sizes as an additive measure of artifact relevance (i.e. value). At the same time, while incoming relations and their respective values, e.g. by means of the PageRank algorithm can be utilized. Further methods for analyses that are made possible by TraVis include different graph layouts based on the graph's topology and mathematical models, e.g. the Kamada-Kawai algorithm.

To support the whole V-TRaM process, TraVis provides capabilites for editing visual traces and maintenance features. For adding and removing particular relations from the graph and eventually from the database of the collaborative software development platform, the TraVis solution has a special mode for batch editing processes, i.e. the changes to the traceability network are made graphically and are then committed as a bundled transaction to the platform. Additionally, hyperlinks to the Web-based user interface of the collaborative software development platform facilitate the analysis necessary for deciding whether certain relations are missing, erroneous, or simply redundant.

Social Network Analysis - SNA
The SNA focuses on the direct and indirect relations between members in software projects. These relations can be quantified by metrics based on the number and types of shared artifact relations. 
Project member activity is represented by the node size of a graph and the interactivity between project members is visualized by the thickness of an edge.The wider the edge, the higher the collaboration between two project members. Thus, each member can view at a glance its social environment by visualizing its relationship to other project members. TraVis enables to either choose a predefined set of weightings in order to calculate SNA-values or customize the SNA-values by modifying a preferred set of weighting.
Clustering groups of different roles allows a visual separation of different part of teams which facilitates an analysis how different roles and hierarchies collaborate within a specific project. Further analysis mechanism such as Ego-View which enables an overview of outgoing relations of a respective project member or Betweenness Centrality which visualizes the importance of a centralized members to distribute project relevant informations to others.

Master View
The Master View was implemented to solve the problem of information overload in larger software projects. Another objective was to generate an user centric view. Starting from a selected project member, all related artifacts are dynamically visualized by navigating through a tree structure. An automatic classification in categories as well as an alphabetic sorting of all the related artifacts facilitates a quick overview of the project member involvements. The lowest level of the tree, the leaves, represents associated project members. 
The Master View enables traceability from one member to another and facilitates analysis on how and over what kind of artifacts they collaborate.

Data Structure
To accomplish an universal data structure and to be able to make use of data from various collaboration platforms an XML interface was implemented. TraVis establishes connection to an available collaboration platform and extracts all relevant data by generating an XML-file.
This XML-file can be can easily imported several times into TraVis without reconnecting to a platform, which would require unnecessary idle time. 

Screen Cast
To get a short impression of TraVis´ main tool functionalities, please see the following screen cast...

 

 If we sparked your interest in V-TRaM or TraVis, do not hesitate to contact us or have a look at the publications page.