The inventive metric tool estimates the entropy of the source code as a
measure of the complexity of the software. The tool considers the
dependency of the symbols in the software. The tool constructs a data
graph representing the structure of the program. Each symbol is shown as a
node in the graph, with the dependencies shown as edges connecting the
different nodes. The tool uses information theory to estimate the amount
of information, or entropy, needed to describe those dependencies. The
entropy provides a measure of the complexity of the program, as the
greater the entropy, the more complex the dependencies, and the more
complex the program.