
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 the initial version
                        of our primal simplex solver.  He is still
                        working on its refinement and optimization.

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

  Elena Mazzi           (University of Parma) has been working on our
                        first implementation of bounded differences
                        and octagons.  She also participated in the
                        theoretical and practical work concerning
                        widening operators for weakly relational
                        domains.  She is still working on this.

  David Merchat         [5] (University of Parma) is helping us with
                        the generation of the library's documentation
                        using Doxygen.

  Matthew Mundell       [6] (University of Leeds) is working on the
                        implementation of rational grids.  He also
                        helps on other implementation issues.

  Andrea Pescetti       (University of Parma) is helping with the
                        library's documentation.  Andrea was also one
                        of the four students with which the PPL
                        project started.

  Barbara Quartieri     (University of Parma) is working on the
                        implementation of bounded differences
                        and octagons.

  Alessandro Zaccagnini [7] (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          (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        (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.

  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        (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          [8] (University of Udine) allowed us to use his
                        Mac OS X machine to work on portability to
                        that platform.

  Bruno Haible          [9] (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      [10] (IRISA) wrote the New Polka library [11]
                        and made it available.

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

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

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

  Fred Mesnard          [16] (University of La Reunion), the main author
                        of cTI [17], 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 [18] 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.


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.cs.unipr.it/~merchat/
 [6] http://www.mundell.ukfsn.org/
 [7] http://www.math.unipr.it/~zaccagni/
 [8] http://www.dimi.uniud.it/~comini/
 [9] http://www.haible.de/bruno/
[10] http://www.irisa.fr/prive/Bertrand.Jeannet/
[11] http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html
[12] http://www.cs.unipr.it/ppl/Documentation/chernikova.c
[13] http://www.cs.unipr.it/ppl/Documentation/bibliography#LeVerge92
[14] http://www.enseignement.polytechnique.fr/profs/informatique/Francesco.Logozzo/
[15] http://www.math.unipr.it/~medori/
[16] http://www.univ-reunion.fr/~fred/
[17] http://www.cs.unipr.it/cTI/
[18] http://www.cs.unipr.it/China/
[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/
