more real-world static analysis results
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:
> 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
> '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