Как изучить/разобраться в чужом PHP коде?
По методике:
Я начинаю изучение фреймворков с точки входа (скрипта, который вызывается при получении HTTP запроса, в случае веб фреймворка). Смотрю на возможные пути дальнейшего выполнения кода в этом входном скрипте. Затем изучаю каждый из путей выполнения, доходя до точки завершения работы этого пути (т.е. изучаю от входа к выходу, сверху вниз). Пытаюсь понять предназначение каждого из путей и участков кода, которые на этом пути встречаются. В итоге пытаюсь понять как данный фреймворк вписывается в известную мне модель работы веб технологий (HTTP и т.п.), какая часть фреймворка предназначена для устранения дублирования кода и т.п.

По софту:
Для статического анализа кода поищите по запросам «php reengineering», «php reverse engineering». Обратный инжинеринг PHP кода есть, например, в Enterprise Architect: www.sparxsystems.com.au/platforms/php_uml.html

Для динамического анализа кода можете с помощью xdebug сделать профилирование вызова и на основе полученного файла построить граф с помощью специальной программы (например, KCacheGrind). Подробнее здесь: xdebug.org/docs/profiler

Ещё ссылки на некоторые инструменты: stackoverflow.com/a/4156265/925775 (мне там приглянулся PHP Call Graph)

P.S.: по софту мог где-то ошибиться, т.к. нет большого опыта в использовании описанных инструментов.
Средств статистического анализа толковых для PHP просто нет. Да и теоретически не во всех случаях это возможно.

Для похожей задачи на PHP3 г;%:?*коде я сделал следующую поделку:
Используя Tokenizer Залил 2 таблички:
functions: id, className, funcName, fileDef, lineDef
ussage: functionsID, calledFunctionsId
inherit: parentClassName, chieldClassName

После этого с помощью простых SQL мне стало легко искать где и что вызывается.

Поделка решала свою узкую задачу, по этому код её не публиковал. Кому интересно — может сделать толковую.