
Authors
=======

The Parma Polyhedra Library and its documentation is being designed,
written, debugged and improved by the following people:


Current core development team:
------------------------------

  Roberto Bagnara       [1] (University of Parma)
  Patricia M. Hill      [2] (University of Leeds)
  Enea Zaffanella       [3] (University of Parma)


Former members of the core development team:
--------------------------------------------

  Elisa Ricci           (former student of the University of Parma) has
                        been a major contributor to the development of
                        the PPL, up until December 2002.


Current contributors:
---------------------

  Abramo Bagnara        (Opera Unica) rewrote and generalized the
                        support for checked coefficients.  He also
                        wrote the support for extended numbers and is
                        currently writing a new implementation of
                        intervals.  He also helps on other design and
                        implementation issues.

  Andrea Cimino         (University of Parma) wrote most of our mixed
                        integer programming solver, and of the Java
                        and OCaml interfaces.

  Katy Dobson           [4] (University of Leeds) is working on the
                        formalization and definition of algorithms
                        for rational grids.

  Alessandro Zaccagnini [5] (University of Parma) has helped with
                        the efficient implementation of GCD and LCM
                        for checked numbers.  He is now working on the
                        definitions of interval arithmetic operations.
                        Alessandro is always a very valuable source of
                        mathematical advice.


Past contributors:
------------------

  Irene Bacchi          (former student of the University of Parma) worked
                        on a development branch where she implemented
                        several variants of algorithms, checking whether
                        or not the set-union of two polyhedra is the same
                        as their poly-hull.

  Danilo Bonardi        (former student of the University of Parma) worked
                        on a development branch where he experimented with
                        the use of metaprogramming techniques based on
                        "expression templates".  The objective of this
                        work was to check the effectiveness of these
                        techniques for moving computations from
                        run-time to compile-time.

  Sara Bonini           (former student of the University of Parma) is
                        one of the four students with which the PPL
                        project started.

  Giordano Fracasso     (University of Parma) wrote the initial version
                        of the support for native and checked integer
                        coefficients.

  Maximiliano Marchesi  (University of Parma) helped to improve the
                        documentation for bounded differences.

  Elena Mazzi           (University of Parma) worked on our implementation
                        of bounded differences and octagons.  She also
                        participated in the theoretical and practical
                        work concerning widening operators for weakly
                        relational domains.

  David Merchat         (formerly at the University of Parma) helped us
                        with the generation of the library's documentation
                        using Doxygen.

  Andrea Pescetti       (University of Parma) was one of the four students
                        with which the PPL project started.  Later, he
                        helped with the library's documentation.

  Barbara Quartieri     (former student of the University of Parma) worked
                        on our implementation of bounded differences and
                        octagons.

  Matthew Mundell       [6] (formerly at the University of Leeds) worked
                        on the implementation of rational grids.  He has
                        also helped on other implementation issues.

  Angela Stazzone       (former student of the University of Parma)
                        worked on the library's documentation.

  Fabio Trabucchi       (University of Parma) worked on a development
                        branch where he added serializers for all the
                        objects of the PPL.  Support for serialization
                        based on Fabio's work, will be available in a
                        future release of the library.

  Claudio Trento        (former student of the University of Pisa) worked
                        on an experimental OCaml interface for the PPL.

  Tatiana Zolo          (former student of the University of Parma) is
                        one of the four students with which the PPL
                        project started.


Thanks!
=======

The following people have given important help to the project:

  Lucia Alessandrini    (University of Parma) provided 4 hour-long
                        lectures on convex polyhedra for the Italian
                        authors.  This was crucial for us to acquire
                        and/or refresh the notions needed for
                        developing the PPL library.

  Marco Comini          [7] (University of Udine) allowed us to use his
                        Mac OS X machine to work on portability to
                        that platform.

  Bruno Haible          [8] (ILOG) made it possible (by writing the
                        AC_LIB_LINKFLAGS macro and explaining how
                        to use it) to allow the use of versions of the
                        GMP library installed into nonstandard places.

  Bertrand Jeannet      [9] (IRISA) wrote the New Polka library [10]
                        and made it available.

  Herve' Le Verge       (r.i.p.) wrote and published an implementation
                        [11] of the Chernikova's algorithm [12] that
                        has set the stage for subsequent
                        implementation work, including our own.

  Francesco Logozzo     [13] (formerly at Ecole Polytechnique) helped us
                        straighten out some portability issues on Cygwin.

  Costantino Medori     [14] (University of Parma) helped us on the
                        mathematical aspects of the development.

  Fred Mesnard          [15] (University of La Reunion), the main author
                        of cTI [16], has worked with us at one of the
                        first applications of the PPL: the "cTI"
                        data-flow analyzer, which performs a linear
                        size relation analysis using a domain of
                        convex polyhedra.  The China data-flow
                        analyzer [17] uses the Parma Polyhedra Library
                        to perform the same analysis.  We have been
                        running China against an old version of cTI
                        that did not use the PPL, using them to
                        analyze the same Prolog programs.  Since that
                        systems did not share a single line of code,
                        this gave us excellent opportunities for our
                        initial testing and debugging work.

  Ralf Wildenhues       [18] (University of Bonn) helped us with
                        several issues concerning the proper use of
                        the Autotools.

This work has been partly supported by the following projects and
organizations:

  1. University of Parma's FIL scientific research project (ex 60%)
     ``Pure and Applied Mathematics'';

  2. MURST project ``Automatic Program Certification by Abstract
     Interpretation'' [19];

  3. MURST project ``Abstract Interpretation, Type Systems and
     Control-Flow Analysis''.

  4. MURST project ``Automatic Aggregate- and Number-Reasoning for
     Computing: from Decision Algorithms to Constraint Programming
     with Multisets, Sets, and Maps'' [20].

  5. MURST project ``Constraint Based Verification of Reactive
     Systems'' [21].

  6. MURST project ``AIDA - Abstract Interpretation: Design and
     Applications'' [22].

  7. Royal Society Joint project 2004/R1-EU (UK-Italy)
     ``Automatic Detection of Unstable Numerical Computations''.

  8. EPSRC (UK) project EP/C520726/1
     ``Numerical Domains for Software Analysis'' [23].

--------

 [1] http://www.cs.unipr.it/~bagnara/
 [2] http://www.comp.leeds.ac.uk/hill/
 [3] http://www.cs.unipr.it/~zaffanella/
 [4] http://www.comp.leeds.ac.uk/katyd/
 [5] http://www.math.unipr.it/~zaccagni/
 [6] http://www.mundell.ukfsn.org/
 [7] http://www.dimi.uniud.it/~comini/
 [8] http://www.haible.de/bruno/
 [9] http://www.irisa.fr/prive/Bertrand.Jeannet/
[10] http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html
[11] http://www.cs.unipr.it/ppl/Documentation/chernikova.c
[12] http://www.cs.unipr.it/ppl/Documentation/bibliography#LeVerge92
[13] http://www.enseignement.polytechnique.fr/profs/informatique/Francesco.Logozzo/
[14] http://www.math.unipr.it/~medori/
[15] http://www.univ-reunion.fr/~fred/
[16] http://www.cs.unipr.it/cTI/
[17] http://www.cs.unipr.it/China/
[18] http://wissrech.ins.uni-bonn.de/people/wildenhues.html
[19] http://theory.sci.univr.it/p40/
[20] http://www.cs.unipr.it/Projects/COFIN01
[21] http://www.disi.unige.it/person/DelzannoG/cover/
[22] http://www.cs.unipr.it/Projects/AIDA/
[23] http://www.comp.leeds.ac.uk/hill/linda/
