more real-world static analysis results

Thomas Lindgren thomasl_erlang@REDACTED
Mon Oct 25 15:25:12 CEST 2004

--- Luke Gorrie <luke@REDACTED> wrote:

> 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.

Maybe you should have a look at Sven-Olof Nystrom's
type analyzer, presented at the 2003 Erlang workshop,
and also developed at Uppsala -- probably even within
a 10m radius of dialyzer :-). As I recall, it could
actually analyze concurrent code, but returned types
(including mailbox types) rather than "bug feedback".


You're probably the pioneer in doing that, of course.
Good luck! :-)


Do you Yahoo!?
Declare Yourself - Register online to vote today!

More information about the erlang-questions mailing list