Hello,

I wanted to share a recent work I’ve done to better visualise the dependencies between classes, with the call graph [1].

For the extension I am currently developping (MediaWikiFarm [2]), I wanted to obtain the call graph. First I did it by hand, but then I found a program doing the job, phpCallGraph [3], but unfortunately it was unmaintained since 2009 (PHP 5.2 era). I did maintenance and it partly works [4], I still have issues with the autoloader.

Here are some preliminary results I got: (these are packages without much external dependencies due to autoloader issues)
* Extension:MediaWikiFarm

https://www.mediawiki.org/wiki/File:Call_graph_of_extension_MediaWikiFarm.svg
* Extension:Math
    https://www.mediawiki.org/wiki/File:Call_graph_of_extension_Math.svg
* Extension:CentralAuth

https://www.mediawiki.org/wiki/File:Call_graph_of_extension_CentralAuth.svg
* directory 'includes' of MediaWiki without subdirectories (too big)

https://www.mediawiki.org/wiki/File:Call_graph_of_MediaWiki%E2%80%99s_directory_includes.svg

I plan to improve this software (see README on GitHub), please say if you if you are interested by this type of graph and/or interested in contributing.

Thanks,
Seb35

[1] https://en.wikipedia.org/wiki/Call_graph (the overapproximation of the static call graph to be precise)
[2] https://www.mediawiki.org/wiki/Extension:MediaWikiFarm
[3] http://phpcallgraph.sourceforge.net
[4] https://github.com/Seb35/phpcallgraph

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to