The DIALYZER: a DIscrepancy AnaLYZer for ERlang programs

A highlight from the Erlang/OTP User Conference 2004:

The Dialyzer is a static analysis tool that identifies software discrepancies such as obvious type errors, unreachable code, redundant tests, virtual machine bytecode which is unsafe, etc. in single Erlang modules or entire applications. Currently, it starts its analysis from BEAM bytecode and reports to its user the functions where the discrepancies occur and an indication of what the discrepancy is about.

A lot of static-analysis programs have been written for Erlang but this is the first one that programmers have immediately downloaded, used, and liked. I would love to see more researchers following the development philosophy they describe in their paper.