Intra- and inter-module dependencies can be a significant source of technical debt
in the long-term software development, especially for large software with millions
of lines of code. This paper designs and implements a precise and scalable tool
that extracts code dependencies and their utilization for large C/C++ software
projects. The tool extracts both symbol-level and module-level dependencies of a
software system and identifies potential underutilized and inconsistent
dependencies. Such information points to potential refactoring opportunities and
help developers perform large-scale refactoring tasks.