Skip to Content
BugsBugs
Date: 2009-02-04

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 d0f6bd0.

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

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 a01fecf and bf1edca.

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 caaa126.

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 5c95fc0.

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 ff5b079.

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

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 3e2fe28.

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 c82a273.

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 535657b.

Last updated on