Release Notes: This release includes support for "positive time elapse," a new operator on polyhedra, improvements to the Java interface, several portability improvements, and a few bug fixes.
Release Notes: This release includes support for the optimized representation of sparse vectors of coefficients, achieving significant performance improvements (e.g., when dealing with constraint systems describing weakly relational abstractions such as boxes and octagonal shapes). A generic interface allows seamless interaction between the dense and sparse row representations. Users can easily customize the default representation for library entities, to tailor the library to their special needs. The release also includes a couple of bugfixes.
Release Notes: This release (which is under the terms of the GPLv3+) includes complete support for "octagonal shapes" (solution of a finite system of constraints such as 'x + y <= 3' and 'x - y <= 5') and "boxes", which may be viewed as the product of not necessarily closed and possibly unbounded intervals. This release comes with fully documented interfaces to C++, C, Java, OCaml, Ciao Prolog, GNU Prolog, SICStus, SWI-Prolog, XSB, and YAP (Java and OCaml are new). It also includes improvements to the documentation, many new configuration options, and a few bugfixes.
Release Notes: The key new feature of this release is complete support for rational grids (i.e. solutions of finite systems of congruence relations such as 'x + y - 2*z = 3 (mod 6)'). The implementation offered in PPL 0.9 is, as far as the authors know, the first published one that is functionally complete (i.e. providing all the required operations, including a provably correct widening) for the purposes of program analysis and verification. This release includes many portability improvements and a couple of bugfixes.
Release Notes: This release has several new features, the two key ones being bounded difference shapes (which are simple convex polyhedra providing coarse but efficient-to-compute approximations for large analysis problems) and a new class for representing and solving linear programming problems. Other improvements include a new configuration program and Autoconf function making library usage even easier, several new operations useful for static analyzers, new output methods for debugging applications using the library, improvements to the C and Prolog interfaces, and a handful of bugfixes.
Release Notes: The library can now be configured to use checked native integers (8, 16, 32, or 64 bits wide) as an alternative to the unbounded integer coefficients provided by the GMP library. The checked integer coefficients apply systematic and efficient overflow detection, raising an exception if the computed value cannot be represented by the underlying type. As a result, significant speedups can be obtained without compromising correctness. This release contains many other improvements ranging from major efficiency gains (for all configurations) to usability, portability, and bugfixes.
Release Notes: Complete support for powersets of polyhedra has been added. This includes a customizable framework for the definition of provably correct widening operators. Support for summary dimensions has also been added. Two demo programs have been added to the library. One of them, `ppl_lcdd', solves the vertex enumeration/convex hull problems and its performance is competitive with the one of other programs solving the same problems. Many other improvements have been performed: documentation, performance, portability, and the configuration machinery have all been improved.
Release Notes: This release is packed with new features: an extremely pecise widening operator, support for the new "widening with tokens" technique, several new operations on polyhedra, extended C and Prolog interfaces, many efficiency, usability, and portability improvements, plus a number of bug fixes.
Release Notes: The best available support is now included for Not Necessarily Closed (NNC) polyhedra (i.e., polyhedra that can be expressed by a mixture of equalities and strict and non-strict inequalities). A complete C interface has been added, and the Prolog interface has been extended and generalized to support GNU, SICStus, SWI, and YAP Prolog. New support for timeout-guarded operations was added. Portability was greatly improved. Almost everything has been improved and changed. There is no compatibility with release 0.3 at all.
Release Notes: Massive API changes were made, removing many significant flaws in the old API. More API changes should be expected for the next few releases. All user-accessible library methods are now guarded by suitable sanity checks. Exceptions are thrown whenever the library is not called in the intended way. A SICStus Prolog interface is now available. It comes with a somewhat interesting demo: a toy CLP(Q) interpreter. The documentation was greatly improved. Many bugs were fixed.