Software evolution visualization techniques and methods a systematic review
Background: Software is an important asset for organizations and development teams. It must evolve over time in order to meet different changes in its environment, satisfy the developers' needs, and adapt to new requirements. Software developers and team members face difficulties tracking the changes others made to their software. Software visualization is one of the effective techniques that help stakeholders to better understand how software evolves, and which parts of the software are most affected by the change. Many visualization tools and techniques have been introduced by researchers and organizations to facilitate such understanding. Method: This article presents a systematic literature review (SLR) on software evolution visualization (SEV) tools. The SLR's main focus is to: (1) explore the main target of SEV, (2) analyze the classifications and taxonomies that are used to represent SEV tools, and (3) find out what are the main sources of information used to visualize software's evolution. Result: 29 papers were analyzed out of 55 papers. The result showed that SEV tools can be classified into five different groups: graph based, notation based, matrix based, and metaphor based and others. Graph based are most popular while Notation based are the least. SEVs focus can be either Artifact centric visualization, Metric centric visualization, Feature centric visualization, or Architecture centric visualization. The main source of information used to ex tract information are the software repositories. Conclusion: This work can help developer, maintainer, researcher to get good knowledge about the state of software evolution and visualization as a whole.
2016 7th International Conference on Computer Science and Information Technology (CSIT)