PPL

Home

Documentation

FAQ

Download

Applications

Credits

Mailing Lists

Bugs

Contribute

Links

About

PPL: The Parma Polyhedra Library

What Is the PPL?

The Parma Polyhedra Library (PPL) provides numerical abstractions especially targeted at applications in the field of analysis and verification of complex systems. These abstractions include convex polyhedra, defined as the intersection of a finite number of (open or closed) halfspaces, each described by a linear inequality (strict or non-strict) with rational coefficients; some special classes of polyhedra shapes that offer interesting complexity/precision tradeoffs; and grids which represent regularly spaced points that satisfy a set of linear congruence relations. The library also supports finite powersets and products of (any kind of) polyhedra and grids and a mixed integer linear programming problem solver using an exact-arithmetic version of the simplex algorithm. (More details are available on the PPL's internal mechanisms.)

The Parma Polyhedra Library is: user friendly (you write x + 2*y + 5*z <= 7 when you mean it); fully dynamic (available virtual memory is the only limitation to the dimension of anything); portable (written in standard C++, with C, Java, Objective CAML and Prolog interfaces, and following all the applicable standards); exception-safe (never leaks resources or leaves invalid object fragments around); efficient (and we hope to make it even more so); thoroughly documented; free software (distributed under the terms of the GNU General Public License version 3 or any later version).


News

Jun 12, 2009 The PPL has now a bug tracking system
We have finally got round to setting up a bug tracking system for the PPL. Users and developers are now strongly encouraged to use it for communicating, commenting and keeping track of all PPL issues.
Apr 27, 2009 Elena graduated!
Elena Mazzi got her Laurea degree in Mathematics with a dissertation on correct widening operators for weakly-relational numerical abstractions. The widening operators and algorithms described and proved correct in her thesis are the ones used in the BD_Shape and Octagonal_Shape classes of the PPL.
Congratulations, Dottoressa Mazzi!
Apr 18, 2009 PPL 0.10.2 has been released
This is a bugfix release. See the release notes for more information.
For older news items, see the complete news archive.

Impatient?

You can browse the code or browse the latest hyperlinked user's manual both in HTML format and in PDF. You can also jump straight to the latest version's download area. Visiting the rest of this site will give you access to more information, more documentation and more download options.


Developer's jump station: Tinderbox panel for PPL-HEAD; Tinderbox index; Gitweb; Reference manual.

[Page last updated on June 20, 2009, 08:52:54.]

© Roberto Bagnara

Home | Documentation | FAQ | Download | Applications | Credits | Mailing Lists | Bugs | Contribute | Links | About