For public source code written in Java, GrepCode may be helpful.
For private source code and/or written in other languages (or stored using unusual version control systems), it is worth knowing the OpenGrok.
Additional references:
- OpenGrok (Wikipedia)
- OpenGrok in action (opensolaris.org)
- OpenGrok internals
- Available analyzers (source code)
- Install OpenGrok on Windows
- Installing Opengrok on Ubuntu Linux