dialyzer; non-existing functions in other modules

Ulf Wiger (AL/EAB) <>
Mon May 16 14:03:31 CEST 2005


I would still like to see Dialyzer optionally report
which functions/modules were "out of scope" for the 
analysis -- either because they were not part of the 
set of modules being analysed, or because they weren't 
in the PLT.

If nothing else, this will serve as an indication of 
how trustworthy the analysis is, and let the user know
that a better result would be possible if the scope of 
the analysis were increased.

Regards,
Uffe

> -----Original Message-----
> From: 
> [mailto:]On Behalf Of Kostis Sagonas
> Sent: den 14 maj 2005 11:50
> To: ; 
> Cc: ; 
> Subject: Re: dialyzer; non-existing functions in other modules
> 
> 
> Matthias Kretschmer asked:
>  >
>  > I was just wondering, why Dialyzer doesn't report 
> unexported/missing
>  > functions if used by another module.
>  > ... [example skipped] ...
>  > I would expect that dialyzer tells me that test:test/1 
> isn't defined or
>  > exported, but the run passes silently.
> 
> Currently, Dialyzer has no 'closed-world' mode.  It accepts a set of
> modules and finds discrepancies in them but makes no assumptions that
> the set of functions it dialyzes is a complete application (or even
> that each module is complete on its own, for that matter). Therefore,
> it does not do what you ask.
> 
> Tobias and I have discussed about adding such a `closed-world' mode to
> Dialyzer, which indeed will be useful because it will allow for more
> discrepancies to be identified, but it is not very high on our TODO
> list because we are working on extending Dialyzer's functionality in
> more exciting ways.
> 
> Among the reasons why what you want is not very high on our TODO list
> is because Erlang/OTP already provides ways of achieving what 
> you want:
> take a look at 'xref'.  (And duplicating functionality which 
> is already
> available is not among Dialyzer's top priorities.)
> 
> Best,
> Kostis
> 
> 



More information about the erlang-questions mailing list