1#include "CREDITS.hh" 2extern const char* const CREDITS_array[446] = { 3 "", 4 "Authors", 5 "=======", 6 "", 7 "The Parma Polyhedra Library and its documentation is being designed,", 8 "extended, written, debugged, maintained and improved by the following", 9 "people:", 10 "", 11 "", 12 "Core Development Team:", 13 "----------------------", 14 "", 15 " Roberto Bagnara [1] (BUGSENG srl and University of Parma)", 16 " Patricia M. Hill [2] (BUGSENG srl and University of Leeds)", 17 " Abramo Bagnara (BUGSENG srl)", 18 " Enea Zaffanella [3] (University of Parma)", 19 "", 20 "", 21 "Former Members of the Core Development Team:", 22 "--------------------------------------------", 23 "", 24 " Elisa Ricci (former student of the University of Parma,", 25 " one of the four students with which the PPL", 26 " project started) has been a major contributor", 27 " to the development of the PPL, up until", 28 " December 2002.", 29 "", 30 "", 31 "Current Contributors:", 32 "---------------------", 33 "", 34 " Alessandro Zaccagnini [4] (University of Parma) has helped with", 35 " the efficient implementation of GCD and LCM", 36 " for checked numbers. He is now working on the", 37 " definitions of interval arithmetic operations.", 38 " Alessandro is always a very valuable source of", 39 " mathematical advice.", 40 "", 41 " Paulo Cesar Pereira de Andrade", 42 " Helps with Fedora packaging.", 43 "", 44 "", 45 "Past Contributors:", 46 "------------------", 47 "", 48 " Roberto Amadini (former student of the University of Parma)", 49 " did some work on the PPL support for the", 50 " approximation of floating point computations.", 51 "", 52 " Irene Bacchi (former student of the University of Parma) worked", 53 " on a development branch where she implemented", 54 " several variants of algorithms, checking", 55 " whether or not the set-union of two polyhedra", 56 " is the same as their poly-hull.", 57 "", 58 " Massimo Benerecetti (University of Naples) worked on the positive", 59 " time-elapse operator on polyhedra.", 60 "", 61 " Fabio Biselli (student of the University of Parma)", 62 " did some work on the PPL support for the", 63 " approximation of floating point computations.", 64 "", 65 " Fabio Bossi (former student of the University of Parma)", 66 " worked on the PPL support for the approximation", 67 " of floating point computations.", 68 "", 69 " Danilo Bonardi (former student of the University of Parma) worked", 70 " on a development branch where he experimented", 71 " with the use of metaprogramming techniques", 72 " based on expression templates. The objective", 73 " of this work was to check the effectiveness of", 74 " these techniques for moving computations from", 75 " run-time to compile-time.", 76 "", 77 " Sara Bonini (former student of the University of Parma) is", 78 " one of the four students with which the PPL", 79 " project started.", 80 "", 81 " Andrea Cimino (former student of the University of Parma)", 82 " wrote most of the mixed integer programming", 83 " solver, and also most of the Java and OCaml", 84 " interfaces. He helped us a lot with the web site.", 85 "", 86 " Katy Dobson (former student of the University of Leeds)", 87 " worked on the formalization and definition of", 88 " algorithms for rational grids and products", 89 " of grids and polyhedra.", 90 "", 91 " Marco Faella (University of Naples) worked on the positive", 92 " time-elapse operator on polyhedra.", 93 "", 94 " Giordano Fracasso (former student of the University of Parma) wrote", 95 " the initial version of the support for native", 96 " and checked integer coefficients.", 97 "", 98 " Francois Galea [5] (University of Versailles) worked", 99 " at the implementation of the Parametric Integer", 100 " Programming solver.", 101 "", 102 " Maximiliano Marchesi (former student of the University of Parma)", 103 " helped a little to improve the documentation for", 104 " bounded differences.", 105 "", 106 " Elena Mazzi (former student of the University of Parma) worked", 107 " on our implementation of bounded differences", 108 " and octagons. She also participated in the", 109 " theoretical and practical work concerning", 110 " widening operators for weakly relational", 111 " domains.", 112 "", 113 " David Merchat (formerly at the University of Parma) helped us", 114 " with the generation of the library's documentation", 115 " using Doxygen.", 116 "", 117 " Stefano Minopoli (University of Naples) worked on the positive", 118 " time-elapse operator on polyhedra.", 119 "", 120 " Matthew Mundell [6] (formerly at the University of Leeds) worked", 121 " on the implementation of rational grids. He has", 122 " also helped on other implementation issues.", 123 "", 124 " Andrea Pescetti (former student of the University of Parma) was one", 125 " of the four students with which the PPL", 126 " project started. Later, he helped a little", 127 " with the library's documentation.", 128 "", 129 " Marco Poletti (former student of the University of Bologna)", 130 " implemented the sparse matrices that are used", 131 " in the MIP and PIP solvers of the PPL; he also", 132 " did experiments on the parallelization of the", 133 " sparse matrices' computations; he also worked", 134 " on improving the PPL's memory footprint and", 135 " on other improvements to the library.", 136 "", 137 " Barbara Quartieri (former student of the University of Parma) worked", 138 " on our implementation of bounded differences and", 139 " octagons.", 140 "", 141 " Enric Rodriguez Carbonell [7] (Technical University of Catalonia)", 142 " worked at the implementation of polynomial spaces.", 143 "", 144 " Angela Stazzone (former student of the University of Parma)", 145 " worked on the library's documentation.", 146 "", 147 " Fabio Trabucchi (former student of the University of Parma) worked", 148 " on a development branch where he added", 149 " serializers for all the objects of the PPL.", 150 " Support for serialization based on Fabio's", 151 " work will be available in a future release of", 152 " the library.", 153 "", 154 " Claudio Trento (former student of the University of Pisa) did", 155 " a small amount of work on an experimental OCaml", 156 " interface for the PPL.", 157 "", 158 " Tatiana Zolo (former student of the University of Parma) is", 159 " one of the four students with which the PPL", 160 " project started.", 161 "", 162 "", 163 "", 164 "Thanks!", 165 "=======", 166 "", 167 "", 168 "People:", 169 "-------", 170 "", 171 " Lucia Alessandrini (University of Parma) provided 4 hour-long", 172 " lectures on convex polyhedra for the Italian", 173 " authors. This was crucial for us to acquire", 174 " and/or refresh the notions needed for", 175 " developing the PPL library.", 176 "", 177 "", 178 " Frederic Besson [8] provided useful comments and observations on", 179 " the ideas (about an extrapolation operator for", 180 " convex polyhedra) sketched in a paper he", 181 " coauthored in 1999.", 182 "", 183 " Tevfik Bultan [9] (University of California, Santa Barbara)", 184 " suggested us to add support for generalized", 185 " affine transfer functions. Discussions with", 186 " Tevfik have been very useful.", 187 "", 188 " Manuel Carro", 189 " Jose Morales [9, 10] members of the CLIP Group [12], helped us", 190 " to produce a Ciao Prolog [13] interface for the", 191 " library. The decisive (and memorable) debugging", 192 " session took place in Parma in the afternoon of", 193 " March 10th, 2003, with the participation of", 194 " Jose Manuel Gomez.", 195 "", 196 " Marco Comini [14] (University of Udine) allows us to use his", 197 " Mac OS X machine to work on portability to", 198 " that platform.", 199 "", 200 " Goran Frehse [15] (VERIMAG, formerly at Carnegie Mellon University)", 201 " provided very useful feedback while he was", 202 " developing PHAVer [16]. We are working with", 203 " Goran in order to include more polyhedra", 204 " simplification facilities in the PPL.", 205 "", 206 " Denis Gopan [17] (University of Wisconsin-Madison) helped us", 207 " extend the library with the \"expand space", 208 " dimension\" and \"fold space dimensions\"", 209 " operations of the library.", 210 "", 211 " Martin Guy [18] gave us access to his ARM machine: without", 212 " this possibility, porting the PPL to the ARM's", 213 " ABIs would have taken ages.", 214 "", 215 " Bruno Haible [19] (ILOG) helped us in our first steps towards", 216 " using versions of the GMP library installed in", 217 " nonstandard places.", 218 "", 219 " Bertrand Jeannet [20] (IRISA) wrote the New Polka library [21]", 220 " and made it available. We had several", 221 " interesting exchanges with Bertrand concerning", 222 " various aspects of polyhedra manipulation.", 223 "", 224 " Herve Le Verge (r.i.p.) wrote and published an implementation", 225 " [22] of the Chernikova's algorithm [23] that", 226 " has set the stage for subsequent", 227 " implementation work, including our own.", 228 "", 229 " Francesco Logozzo [24] (formerly at Ecole Polytechnique) helped us", 230 " straighten out some portability issues on Cygwin.", 231 "", 232 " Kenneth MacKenzie [25] provided very good bug reports that allowed", 233 " us to fix several problems in the OCaml interface.", 234 "", 235 " Costantino Medori [26] (University of Parma) helped us on some", 236 " mathematical aspects of the development.", 237 "", 238 " Fred Mesnard [27] (University of La Reunion), the main author", 239 " of cTI [28], has worked with us on one of the", 240 " first applications of the PPL: the \"cTI\"", 241 " data-flow analyzer, which performs a linear", 242 " size relation analysis using a domain of", 243 " convex polyhedra. The China data-flow", 244 " analyzer [29] uses the Parma Polyhedra Library", 245 " to perform the same analysis. We have been", 246 " running China against an old version of cTI", 247 " that did not use the PPL, using it to", 248 " analyze the same Prolog programs. Since these", 249 " systems did not share a single line of code,", 250 " this gave us excellent opportunities for our", 251 " initial testing and debugging work. Fred has", 252 " also helped us to port the PPL to Mac OS X.", 253 "", 254 " Ken Mixter (then at Carnegie Mellon University) provided", 255 " useful feedback while working on an", 256 " experimental version of the Action Language", 257 " Verifier [30] based on the PPL.", 258 "", 259 " Sebastian Pop [31] (now at AMD). During his work on interfacing", 260 " CLooG [32] with the PPL, Sebastian provided", 261 " valuable feedback, particularly on the C", 262 " interface to the PPL. He also suggested the", 263 " addition of new functionality such as the", 264 " \"simplify using context\" operation.", 265 "", 266 " Thomas Reps [33] (University of Wisconsin-Madison), on several", 267 " occasions we have had interesting discussions", 268 " with him both on the PPL and on the more", 269 " general topics of static analysis and", 270 " numerical abstractions.", 271 "", 272 " Mooly Sagiv [34] (Tel-Aviv University) stimulated the development", 273 " of the PPL by providing, in particular,", 274 " interesting challenges related to precision", 275 " and scalability.", 276 "", 277 " Sriram Sankaranarayanan [35] (NEC Laboratories America, formerly at", 278 " Stanford University) provided very useful feedback", 279 " while developing StInG [36] and LPInv [37].", 280 "", 281 " Axel Simon [38] (ENS, formerly at the University of Kent", 282 " at Canterbury) wrote some PPL 0.9", 283 " bindings [44] for the Glasgow Haskell Compiler.", 284 "", 285 " Fausto Spoto [39] (University of Verona) did useful beta testing", 286 " for the Java interface. He also suggested the", 287 " addition of the <EM>hash code</EM> operations.", 288 "", 289 " Basile Starynkevitch [40] (CEA LIST/DTSI/SOL). Basile is the author", 290 " of MELT [41] and suggested several improvements", 291 " to the PPL.", 292 "", 293 "", 294 " Pedro Vasconcelos [42] (formerly at the University of St Andrews, UK)", 295 " provided useful feedback while developing his", 296 " size and cost analyzer for Core Hume [43].", 297 " Pedro also solved a problem of Axel Simon's", 298 " PPL 0.9 bindings for the GHC and makes them", 299 " publicly available [44].", 300 "", 301 " Ralf Wildenhues [45] (University of Bonn) helped us with", 302 " several issues concerning the proper use of", 303 " the Autotools.", 304 "", 305 "", 306 "Organizations (and People Therein):", 307 "-----------------------------------", 308 "", 309 "We are grateful for the following contributions:", 310 "", 311 "- AMD Developer Central [46] has donated a bi-quad core machine with", 312 " the latest AMD Opteron 2384 \"Shanghai\" processors and 16GB of RAM.", 313 " This machine now hosts all the PPL data and services. Many thanks", 314 " to Christophe Harle and Sebastian Pop.", 315 "", 316 "- The Computing Center of the University of Parma [47] allowed us to", 317 " test the portability of the library on a variety of platforms.", 318 " Fausto Pagani was especially helpful in this respect.", 319 "", 320 "- The GCC Compile Farm Project [48] managed by FSF France provided", 321 " access to a number of machines that allowed us to test and improve", 322 " the portability of the library. Special thanks go to Laurent Guerby", 323 " for his kind assistance.", 324 "", 325 "- The test cluster provided by Hewlett Packard and hosted by ESIEE [49]", 326 " allowed us to complete the porting of the PPL to the IA64 and PA-RISC", 327 " architectures. Many thanks to Thibaut Varene [50] and the PA-RISC", 328 " Linux community [51] for their kind assistance.", 329 "", 330 "- HiPEAC [52] sponsored the participation of Roberto Bagnara to the", 331 " Graphite Workshop [53]. This was very helpful to discuss the needs", 332 " of Graphite [54] (a framework for high-level loop optimizations on", 333 " the polyhedral model) and, more generally, of GCC [55] in terms of", 334 " numerical abstractions and how the PPL can help. Special thanks go", 335 " to Albert Cohen [57] for this sponsorship.", 336 "", 337 "- INRIA [56] supported the work of Abramo Bagnara from January 1st to", 338 " May 31st, 2009, to work on the PPL and its development", 339 " infrastructure. Many thanks go, in particular, to Albert Cohen [57].", 340 "", 341 "", 342 "Some of our research work has been partly supported by the following", 343 "projects and organizations:", 344 "", 345 "- University of Parma's FIL scientific research project (ex 60%)", 346 " ``Pure and Applied Mathematics'';", 347 "", 348 "- MURST project ``Automatic Program Certification by Abstract", 349 " Interpretation'' [58];", 350 "", 351 "- MURST project ``Abstract Interpretation, Type Systems and Control-Flow", 352 " Analysis'';", 353 "", 354 "- MURST project ``Automatic Aggregate- and Number-Reasoning for Computing:", 355 " from Decision Algorithms to Constraint Programming with Multisets, Sets,", 356 " and Maps'' [59];", 357 "", 358 "- MURST project ``Constraint Based Verification of Reactive Systems'' [60];", 359 "", 360 "- MURST project ``AIDA - Abstract Interpretation: Design and", 361 " Applications'' [61];", 362 "", 363 "- PRIN project ``AIDA 2007 - Abstract Interpretation: Design and", 364 " Applications'' [62];", 365 "", 366 "- Integrated Action Italy-Spain 2001-2002 ``Advanced Development Environments", 367 " for Logic Programs'' [63];", 368 "", 369 "- Royal Society Joint project 2004/R1-EU (UK-Italy)", 370 " ``Automatic Detection of Unstable Numerical Computations'';", 371 "", 372 "- EPSRC (UK) project EP/C520726/1", 373 " ``Numerical Domains for Software Analysis'' [64];", 374 "", 375 "- Royal Society International Outgoing Short Visit 2007/R4", 376 " ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [65];", 377 "", 378 "- EPSRC (UK) project EP/G025177/1", 379 " ``Geometric Abstractions for Scalable Program Analyzers'' [65].", 380 "", 381 "--------", 382 "", 383 " [1] http://www.cs.unipr.it/~bagnara/", 384 " [2] http://www.comp.leeds.ac.uk/hill/", 385 " [3] http://www.cs.unipr.it/~zaffanella/", 386 " [4] http://www.math.unipr.it/~zaccagni/", 387 " [5] http://fgalea.free.fr/", 388 " [6] http://www.mundell.ukfsn.org/", 389 " [7] http://www.lsi.upc.edu/~erodri/", 390 " [8] http://www.irisa.fr/lande/fbesson/fbesson.html", 391 " [9] http://www.cs.ucsb.edu/~bultan/", 392 "[10] http://www.clip.dia.fi.upm.es/~boris/", 393 "[11] http://clip.dia.fi.upm.es/~jfran/", 394 "[12] http://clip.dia.fi.upm.es/", 395 "[13] http://clip.dia.fi.upm.es/Software/Ciao/", 396 "[14] http://www.dimi.uniud.it/~comini/", 397 "[15] http://www-verimag.imag.fr/~frehse/", 398 "[16] http://www-verimag.imag.fr/~frehse/phaver_web/", 399 "[17] http://www.cs.wisc.edu/~gopan/", 400 "[18] http://martinwguy.co.uk/", 401 "[19] http://www.haible.de/bruno/", 402 "[20] http://www.irisa.fr/prive/Bertrand.Jeannet/", 403 "[21] http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html", 404 "[22] http://bugseng.com/products/ppl/documentation/chernikova.c", 405 "[23] http://bugseng.com/products/ppl/documentation/bibliography#LeVerge92", 406 "[24] http://research.microsoft.com/~logozzo/", 407 "[25] http://homepages.inf.ed.ac.uk/kwxm/", 408 "[26] http://www.math.unipr.it/~medori/", 409 "[27] http://www.univ-reunion.fr/~fred/", 410 "[28] http://www.cs.unipr.it/cTI/", 411 "[29] http://www.cs.unipr.it/China/", 412 "[30] http://www.cs.ucsb.edu/~bultan/composite/", 413 "[31] http://www-rocq.inria.fr/~pop/", 414 "[32] http://www.cloog.org/", 415 "[33] http://www.cs.wisc.edu/~reps/", 416 "[34] http://www.math.tau.ac.il/~msagiv/", 417 "[35] http://www.nec-labs.com/~srirams/", 418 "[36] http://theory.stanford.edu/~srirams/Software/sting.html", 419 "[37] http://theory.stanford.edu/~srirams/Software/lpinv.html", 420 "[38] http://www.di.ens.fr/~simona/", 421 "[39] http://profs.sci.univr.it/~spoto/", 422 "[40] http://www.starynkevitch.net/Basile/index_en.html", 423 "[41] http://gcc.gnu.org/wiki/MiddleEndLispTranslator", 424 "[42] http://www.ncc.up.pt/~pbv/", 425 "[43] http://www.ncc.up.pt/~pbv/cgi/cost.cgi", 426 "[44] http://www.ncc.up.pt/~pbv/research/ppl/ghc.html", 427 "[45] http://wissrech.ins.uni-bonn.de/people/wildenhues.html", 428 "[46] http://developer.amd.com/", 429 "[47] http://www.siti.unipr.it/", 430 "[48] http://gcc.gnu.org/wiki/CompileFarm", 431 "[49] http://www.esiee.fr/", 432 "[50] http://www.parisc-linux.org/~varenet/", 433 "[51] http://www.parisc-linux.org/", 434 "[52] http://www.hipeac.net/", 435 "[53] http://gcc.gnu.org/wiki/Graphite_Workshop_Nov08", 436 "[54] http://gcc.gnu.org/wiki/Graphite", 437 "[55] http://gcc.gnu.org/", 438 "[56] http://www.inria.fr/", 439 "[57] http://www-rocq.inria.fr/~acohen/", 440 "[58] http://theory.sci.univr.it/p40/", 441 "[59] http://www.cs.unipr.it/Projects/COFIN01", 442 "[60] http://www.disi.unige.it/person/DelzannoG/cover/", 443 "[61] http://www.cs.unipr.it/Projects/AIDA/", 444 "[62] http://www.cs.unipr.it/Projects/AIDA2007/", 445 "[63] http://www.cs.unipr.it/Projects/AzInt2001-2002Sp", 446 "[64] http://www.comp.leeds.ac.uk/hill/chiara/WWW/linda.html", 447 "[65] http://www.comp.leeds.ac.uk/hill/chiara/WWW/projects.html", 448 0}; 449