A system and method of detecting redundant subroutine calls in a software
system is provided. Call path data is obtained for the software system
and stored into a call tree comprising a plurality of nodes, each node
representing a software routine of the software system, the call tree
describing the calling paths between the plurality of software routines.
At least one focal node is identified among the plurality of nodes in the
call tree for redundancy analysis. The calling redundancy to the focal
node is analyzed by determining a common ancestor node list for the focal
node and by generating call path data for each of the common ancestor
nodes on the list. The common ancestor list data may be sorted and call
trees generated for the common ancestors in relation to the focal node.
This data may then be displayed on a graphical user interface for
redundancy analysis of the focal node.