A domain-specific language to visualize software evolution (original) (raw)

Interactive Visual Mechanisms for Exploring Source Code Evolution

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

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.

Maleku: an evolutionary visual software analytics tool for providing insights into software evolution

2011

Software maintenance is a complex process that requires the understanding and comprehension of software project details. It involves the understanding of the evolution of the software project, hundreds of software components and the relationships among software items in the form of inheritance, interface implementation, coupling and cohesion. Consequently, the aim of evolutionary visual software analytics is to support software project managers and developers during software maintenance. It takes into account the mining of evolutionary data, the subsequent analysis of the results produced by the mining process for producing evolution facts, the use of visualizations supported by interaction techniques and the active participation of users. Hence, this paper proposes an evolutionary visual software analytics tool for the exploration and comparison of project structural, interface implementation and class hierarchy data, and the correlation of structural data with metrics, as well as socio-technical relationships. Its main contribution is a tool that automatically retrieves evolutionary software facts and represent them using a scalable visualization design.

Version-centric visualization of code evolution

2005

The source code of software systems changes many times during the system lifecycle. We study how developers can get insight in these changes in order to understand the project context and the product artifacts. For this we propose new techniques for code evolution representation and visualization interaction from a version-centric perspective. Central to our approach is a line-based display of the changing code, where each file version is shown as a column and the horizontal axis shows time. We propose a version centric layout of line representations and a constrained interaction scheme that makes it easy to navigate. Additionally, we describe a cushion based technique to enhance visualization with information about stable evolution areas. We demonstrate the usefulness of our approach on real-life data sets.

On the Use of Software Visualization to Analyze Software Evolution: An Interactive Differential Approach

Lecture Notes in Business Information Processing, 2012

Software evolution is one of the most important topics in modern software engineering research. This activity requires the analysis of large amounts of data describing the current software system structure as well as its previous history. Software visualization can be helpful in this scenario, as it can summarize this complex data into easy to interpret visual scenarios. This paper presents a interactive differential approach for visualizing software evolution. The approach builds multi-view structural descriptions of a software system directly from its source code, and uses colors to differentiate it from any other previous version. This differential approach is highly interactive allowing the user to quickly brush over many pairs of versions of the system. As a proof of concept, we used the approach to analyze eight versions of an open source system and found out it was useful to quickly identify hot spot and code smell candidates in them.

DEVis: A tool for visualizing software document evolution

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

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.

Combined visualization of structural and metric information for software evolution analysis

Proceedings of the joint …, 2009

This paper discusses a proposal for the visualization of software evolution, with a focus on combining insight on changes that affect software metrics at project and class level, the project structure, the class hierarchy and the viewing of source code correlated to indirect class coupling. The proposed visualization supports several tasks: the comparison of structural information, including class hierarchies, across several revisions; uncovering collaboration patterns between developers; and determining which classes have been added or deleted to the project during the creation of a given revision. We propose and discuss several design elements supporting these tasks, including interaction patterns and linked views.

EvolTrack: A Plug-in-Based Infrastructure for Visualizing Software Evolution

2011

Abstract. Researchers and practitioners have looked for technologies and methodologies to help monitoring and controlling software development. As software evolves and becomes more complex, it needs to deal with more complex and abundant data. This work provides an overview of EvolTrack, an infrastructure that exploits the Software Visualization discipline for supporting software evolution control and monitoring activities.

Evolutional Insights from UML and Source Code Versions using Information Visualization and Visual Analysis

2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis, 2007

Risks associated with producing todays software applications are increasingly linked with size and complexityjust too many aspects of software to fit in the head of even the most talented software engineer. Understanding software entails more than browsing the source code or reviewing the models in the other software artifacts. We use information visualization and visual analysis techniques to parse data sets generated from UML and Java SDK source code versions to examine patterns. This visual perspective provides relevant insights and additional navigation opportunities for software engineers during development and maintenance activities.