[erlang-questions] Prebuilt PLTs for Dialyzer

Kostis Sagonas kostis@REDACTED
Mon Oct 5 10:10:03 CEST 2009


Zoltan Lajos Kis wrote:
> Hello.
> 
> Would it be possible to distribute a prebuilt .dialyzer_plt file for the 
> erlang/OTP releases (either packed or separately) that we could just 
> download and use?
> It seems to take forever building these PLTs, even for the core 
> "applications"...

I cannot answer the first question, but are you aware that the PLT can 
be built incrementally and you can add information on an as-needed basis?

What you can do is the following.  Start with a minimal PLT: one that 
contains information about say "kernel" and "stdlib" only

   dialyzer --build_plt -r $ERL_TOP/lib/kernel/ebin $ERL_TOP/lib/stdlib/ebin

Indeed, it currently takes some time to build this PLT, but considerably 
shorter than "forever" ;-)

Then analyze your code with this PLT.  If dialyzer complains that you 
are missing some info from say a mnesia file, you can expand the PLT you 
just built with the missing information by issuing the command:

   dialyzer --add_to_plt -r $ERL_TOP/lib/mnesia/ebin

As long as you do not modify any file in kernel, stdlib, or mnesia (or 
anything else that you have included in your PLT for that matter), the 
PLT will stay consistent and usable.

Not an ideal solution, but this should be close enough to what you want.

Kostis


More information about the erlang-questions mailing list