Quantcast

Add --merge_plts feature to dialyzer, so its possible now to combine several PLTs into single one.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Add --merge_plts feature to dialyzer, so its possible now to combine several PLTs into single one.

Anton Fedorov-2
To be able to generate plts for system in parallel, its useful to generate
one-plt per application, and merge them after to one single big PLT.

git fetch git://github.com/datacompboy/otp.git dialyzer_merge_plts

--
Regards,
Anton Fedorov
Call2ru service
E-Mail: [hidden email]
Jabber: [hidden email]
ICQ: 272-35-262
Mobile: +7-913-925-7974 [SMS 24h, Call 05:00-19:00 MSKT (GMT+3)]

_______________________________________________
erlang-patches mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-patches
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Add --merge_plts feature to dialyzer, so its possible now to combine several PLTs into single one.

Stavros Aronis
Hi Anton,

I am sorry to inform you that in Dialyzer's case "the whole is greater that the sum (or even the merge) of it's parts"!

When Dialyzer analyzes a set of modules without a PLT, it assumes that a call to any external function will accept any term as an argument and return a value that can also be any term. Therefore each of these single-application-PLTs is going to be agnostic about calls to functions in all other applications. As a result, these PLTs will be missing the constraints that are imposed by these external calls and the information stored within will be less strict. In the end, when you merge all these PLTs, you will have a valid PLT, but it will also be less strict than the one you will get by analyzing all the applications together.

I am not sure if there is any proper use for your trick.

On Tue, Jul 19, 2011 at 8:58 PM, Anton Fedorov <[hidden email]> wrote:
To be able to generate plts for system in parallel, its useful to generate
one-plt per application, and merge them after to one single big PLT.

git fetch git://github.com/datacompboy/otp.git dialyzer_merge_plts

--
Regards,
Anton Fedorov
Call2ru service
E-Mail: [hidden email]
Jabber: [hidden email]
ICQ: 272-35-262
Mobile: <a href="tel:%2B7-913-925-7974" value="+79139257974">+7-913-925-7974 [SMS 24h, Call 05:00-19:00 MSKT (GMT+3)]

_______________________________________________
erlang-patches mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-patches


_______________________________________________
erlang-patches mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-patches
Loading...