Large projects tend to accumulate lots of unused cruft.
Coverage tools like emma/jacoco but I have successfully used UCDetector [1]. It's not bullet proof but it helped me lot when analyzing code to remove the unused parts, even if there are false positives sometimes.
[1] http://www.ucdetector.org/