Skip to Content
BugsBugs

PPL Bugs

Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it.

                                                                — Brian W. Kernighan

The PPL developers encourage you to report any bugs you find using the bug tracking system. Here `bug’ should be interpreted in its broadest sense: outright software errors, misfeatures, bad interfaces, missing or unclear documentation… whatever is a subject for possible improvement.

As far as software bugs are concerned, the best reports are those that are reproducible. When possible, including (or pointing us to) code that exhibits the reported misbehavior is the best thing you can do to help us fix the library. Of course, this is not always possible and we will welcome any kind of bug report. Anyway, you may be interested to read How to Report Bugs Effectively, by Simon Tatham.

Known Bugs in PPL 0.11.2

There are no known bugs in PPL 0.11.2. We will list here all the bugs we will find. There is also an archive of all known bugs affecting various releases of the PPL.

Known Bugs in PPL 0.11

Here is the list of all the known bugs in PPL 0.11 (even though it is likely that there are other bugs in it). All these bugs have been fixed in PPL 0.11.2.

February 10, 2011 : Fixed a bug in the input method for checked integers whereby, under specific conditions, the input stream state bits were not updated. The bug was only affecting builds using checked integer coefficients. Relevant commit is d0f6bd037c90676130e9547e5ed909cf6ba8eee9.

February 5, 2011 : Fixed a bug in the OCaml interface, which was affecting functions ppl_Pointset_Powerset_<INSTANCE>_get_disjunct. Relevant commit is c23ded5ce0023a753fdd5da2dbbd99d1a084566c.

February 5, 2011 : Corrected a couple of resource (re-)allocation problems that, under specific conditions, could affect the correctness of Grid constructor Grid::Grid(const Box<Interval>& box) and NNC_Polyhedron method Polyhedron::generalized_affine_image(). Relevant commits are a01fecf4cde756aaefe88b8f309f9bdf3e07b670 and bf1edca5e0ddb03674a35218dccce6bc421469e2.

February 4, 2011 : Corrected a problem in the simplification of PIP_Problem solution trees whereby, under specific conditions, the node merging process produced decision nodes that did not satisfy their class invariant. Relevant commit is caaa126b56ccb07884217b33b6cc8c1f79e7f6ca.

October 19, 2010 : Fixed a precision bug in method Octagonal_Shape<T>::affine_image() whereby in the case of an invertible affine transformation implementing a variable sign symmetry (and optional translation), the computed result was correct but unnecessarily imprecise. Relevant commit is 5c95fc0eab6a38442751ed16c6cfa9d538917f3f.

October 16, 2010 : Fixed a bug whereby the argument of all the methods unconstrain(Variable var) was not checked correctly for space dimension compatibility. Relevant commit is ff5b0796773b34ef9d1e26d2a40b4fdb8376dc8f.

September 16, 2010 : Corrected an efficiency bug in the C language interface function ppl_Linear_Expression_add_to_coefficient(). Relevant commit is ba9f6c92b49afbbfc37d864f59fff70df90f6536.

September 7, 2010 : Fixed a bug affecting constructor Interval::Interval(const char* s) whereby a wrong interval would be constructed if the string argument denotes a number that can only be represented as an infinity. Relevant commit is 3e2fe287b4efd3b58127951793cc00ffe0ca21c0.

August 29, 2010 : Fixed a bug affecting the input routine of ppl_lpsol, whereby the inhomogeneous term of the objective function was disregarded. The bug could only affect the optimized value of the objective function, while having no effect onthe problem’s optimization state. Relevant commit is c82a27391846139072cadf0754f59f4805f4f99b.

August 13, 2010 : Fixed a bug affecting methods Box::CC76_widening_assign(const T&, Iterator, Iterator) and Interval::CC76_widening_assign(const From&, Iterator, Iterator) whereby a lower bound would not be computed correctly when the two iterators specify an empty list of stop points. Relevant commit is 535657baab7b4f5e6d884a7fcdc2138b1ea0797c.

Last updated on