Skip to content
This repository

Welcome to the pfff Wiki!


pfff is a set of tools and APIs to perform some static analysis, dynamic analysis, code visualizations, code navigations, or style-preserving source-to-source transformations such as refactorings on source code. For now the effort is focused on PHP but there is also good support for C, C++, Java, HTML, JavaScript, CSS, and preliminary support for Erlang, Python, C#, Lisp, Scheme, Haskell, OPA, Sql, and even TeX. There is also very good support for OCaml and noweb (literate programming) so that pfff can be used on the code of pfff itself.

Here are the pfff tools:


Presentation of codemap and codegraph at the OCaml workshop 2013. Slides available at Notes

Look in Changes.


Click on the "Download Source" button in the top right of this window. If you have git installed on your machine you can also do:

$ git clone

Then follow the instructions in install.txt which essentially tell you to do:

$ ./configure
$ make depend
$ make; make opt


Here is a screenshot of Codemap when applied on the early source of the Linux kernel.






Look in Internals.


Email to pad at fb dot com or click on "Issues" in the github project bar above.

More Screenshots

See also Examples and Examples2.

Linux kernel

OCaml Compiler

Pfff itself

Related work

pfff is a continuation of the work I've done on coccinelle, an advanced refactoring tool for C I co-designed with Julia Lawall.

Related research work:

Related old-school Unix tools:

  • ctags
  • cscope

Related tools:

In the press

Something went wrong with that request. Please try again.