[m-rev.] For Review: Bug fixes in constraints based mode analysis.

Julien Fischer juliensf at cs.mu.OZ.AU
Wed Mar 29 14:50:02 AEDT 2006


On Fri, 17 Feb 2006, Richard Fothergill wrote:

> For review by anyone.
>
> Estimated hours taken: 35
> Branch: main.
>
> Bugfixes for constraints based mode analysis (propagation solver).
>
> Fix a bug where the producer/consumer analysis was failing when implied modes
> were required in predicate calls. Appropriate unifications are now generated
> so as to allow for such calls.
>
> Fix a bug where conservative approximation of nonlocals sets was leading
> analysis to assume a goal consumed a variable it didn't actually use. This was
> fixed by making a check that variables in nonlocal sets actually appear in the
> goal.
>
> Finally, the transformation to hhf was leaving some nonlocals sets inaccurate,
> so some producing/consuming conjuncts for certain program variables were being
> ignored, resulting in a failure in producer/consumer analysis. This was fixed
> by no longer transforming to hhf for the propagation solver constraints
> based mode analysis. This is fine for now, because the current version
> uses only simple constraints and doesn't need hhf. However, if it is going
> to be extended to the full constraints system (that handles subtyping and
> partial instantiation) the transformation to hhf will have to be used,
> and the nonlocals sets bug fixed.
>

...

> tests/valid/mc_bag.m:
> tests/valid/mc_graph.m:
> 	Reasonably large tests taken and modified from the standard library
> 	that the propagation solver approach to constraints based mode
> 	analysis currently runs correctly on.
>
> tests/valid/mc_extra_nonlocals.m:
> tests/valid/mc_hhf_nonlocals_bug.m:
> tests/valid/mc_implied_modes.m:
> 	Small tests that used to fail under the above bugs.

Hi Richard,

You forgot to cvs add these test cases before you committed this change.

Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list