A visual approach to support Change Impact Analysis in object-oriented source code

Change Impact Analysis aims to identify parts of a system affected by the proposed change implementation. Although one may find in literature techniques to automate the impact identification process, it is still highly dependent on the experience with the analyzed software. Studies in this area do not focus on the analysis of the possible impact identified by the techniques. In this paper, we propose a visual approach to deal with the results generated by applying an impact analysis technique to oriented source code. Coordinating visual mappings makes it possible to identify impacted entities regarding the individual difficulty of maintenance. Also, it is possible to determine how are affected the entities. In this paper, we present the implemented approach (tool VisImpala), the generated views, how to interpret them, and the lessons learned.

[1]  Ben Shneiderman,et al.  Ordered treemap layouts , 2001, IEEE Symposium on Information Visualization, 2001. INFOVIS 2001..

[2]  Chan Lee,et al.  Dynamic Impact Analysis Method using Use-case and UML Models on Object-oriented Analysis , 2016 .

[3]  Collin McMillan,et al.  Do Programmers do Change Impact Analysis in Debugging? , 2016, Empirical Software Engineering.

[4]  Joost Visser,et al.  A Practical Model for Measuring Maintainability , 2007 .

[5]  Sheng Yu,et al.  A survey on metric of software complexity , 2010, 2010 2nd IEEE International Conference on Information Management and Engineering.

[6]  Chris Walshaw,et al.  Journal of Graph Algorithms and Applications a Multilevel Algorithm for Force-directed Graph-drawing , 2022 .

[7]  Douglas Thain,et al.  DistIA: A cost-effective dynamic impact analysis for distributed programs , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[8]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[9]  Peng Liang,et al.  Multi-Perspective Visualization to Assist Code Change Review , 2017, 2017 24th Asia-Pacific Software Engineering Conference (APSEC).

[10]  Rogério Eduardo Garcia,et al.  Multiple Coordinated Views to Support Aspect Mining Using Program Slicing (S) , 2013, SEKE.

[11]  Suzette Person,et al.  Computing and visualizing the impact of change with Java PathFinder extensions , 2012, SOEN.

[12]  Marcus Costa Sampaio,et al.  Mining Software Repositories for Software Change Impact Analysis: A Case Study , 2008, SBBD.

[13]  Shane McIntosh,et al.  Revisiting the Impact of Classification Techniques on the Performance of Defect Prediction Models , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[14]  Orland Hoeber,et al.  ImpactViz: visualizing class dependencies and the impact of changes in software revisions , 2010, SOFTVIS '10.

[15]  Nick Qi Zhu,et al.  Data Visualization with D3.js Cookbook , 2013 .

[16]  Jonathan I. Maletic,et al.  srcML: An Infrastructure for the Exploration, Analysis, and Manipulation of Source Code: A Tool Demonstration , 2013, 2013 IEEE International Conference on Software Maintenance.

[17]  Ludovico Iovino,et al.  Traceability visualization in metamodel change impact detection , 2013 .

[18]  R. C. M. Correia,et al.  Coordinated Visualization of Aspect-Oriented Programs , 2011 .

[19]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .