AC²: Towards Understanding Architectural Changes in Python Projects
Fri 27 Aug 2021 05:25 - 05:30 - Analytics & Software Evolution—Software Evolution 1 Chair(s): Lingxiao Jiang, Massimiliano Di Penta
Open source projects are adopting faster release cycles that reflect various changes in the software. Therefore, comprehending the effects of these changes as software architecture evolves over multiple releases becomes necessary. However, it is challenging to keep architecture in-check and add new changes simultaneously for every release. To this end, we propose a visualization tool called AC\textsuperscript{2}, which allows users to examine the alterations in the architecture at both higher and lower levels of abstraction for Python projects. AC\textsuperscript{2} uses call graphs and collaboration graphs to show the interaction between different architectural components. The tool provides four different views to see the architectural changes. Users can examine two releases at a time to comprehend architectural changes between them. AC\textsuperscript{2} can support the maintainers and developers, observing changes in the project and their influence on the architecture, which allows them to examine its increasing complexity over many releases at component level. AC\textsuperscript{2} can be downloaded from \url{https://github.com/rishalab/AC2} and the demo can be seen at \url{https://www.youtube.com/watch?v=GNrJfZ0RCVI}.