Licencja
Know Thy Source Code. Is it mostly dead or alive?
Know Thy Source Code. Is it mostly dead or alive?
Abstrakt (EN)
Nowadays, even small systems contain numerous components with complex dependencies. These components differ in importance and quality. Some of them get deprecated over time and can be removed from the project. This leads to the question relevant for all architects: which parts of my source code are still alive? To answer this question we harness the graph-based model of software. We perform a dynamic analysis of internal behaviour of components by eardropping the control flow. We then augment the graph model of the system with the results of this analysis and visualize it. We render execution paths over the nodes and their connections. The vividness of colours reflects the frequency of calls. This visualization helps judging at a glance which parts of software remained unvisited during software execution. Probably those parts are actually dead, thus should absorb little further maintenance, if any. In this paper we describe proof-of-concept tools to support this approach and report results of analysis of selected open-source Java projects of various sizes.