more real-world static analysis results

Tobias Lindahl tobias.lindahl@REDACTED
Mon Oct 25 14:20:06 CEST 2004


On Mon, 25 Oct 2004, Luke Gorrie wrote:

> I ran it on a large codebase and it reported lots of unsafe bytecode
> warnings asking me to recompile with a newer compiler. I'd like to
> filter these out because it's not convenient to upgrade the compiler
> right now, but I couldn't find the filtering options in the GUI. Are
> they there somewhere in the released version?

The ability to filter out certain types of warnings will be available in
the next version of Dialyzer (which will be available reasonably soon).

> Dialyzer also hung during startup the first time because I didn't have
> Tk installed on my machine.

This is handled more gracefully in the next version, and you will also
have the option to use a command-line version that do not need Tk.

> I have one vague feature desire but I don't think it could be done in
> a non-false-positive way. Suppose I have a module containing some
> typos in atoms:
>
>   -module(foo).
>   -compile(export_all).
>
>   send(P) -> P ! oaky.
>   recv()  -> receive acknolwedge -> ok end.
>
> It might be nice to warn that send/1 sends 'oaky' but that this atom
> doesn't appear as a constant in any receive (or that it doesn't appear
> as a constant anywhere at all), and likewise for receiving
> 'acknolwedge'. Of course list_to_atom can introduce false positives.

This is actually something we have talked about. We will be looking at the
concurrent features of Erlang in the future, but this is still in the
planning stage.

Tobias



More information about the erlang-questions mailing list