Feautrier P, Collard J -F, Bastoul C
PIP/PipLib: A Solver for Parametric Integer Programming Problems Technical Manual
5.0, 2007, (Distributed with PIP/PipLib 1.4.0).
Abstract | BibTeX
@manual{FeautrierCB07, title = {PIP/PipLib: A Solver for Parametric Integer Programming Problems}, author = {P. Feautrier and J. -F. Collard and C. Bastoul}, year = {2007}, date = {2007-07-01}, edition = {5.0}, abstract = {This manual is for PIP and PipLib version 1.4.0, a software which solves Parametric Integer Programming problems. That is, PIP finds the lexicographic minimum of the set of integer points which lie inside a convex polyhedron, when that polyhedron depends linearly on one or more integral parameters.}, note = {Distributed with PIP/PipLib 1.4.0}, keywords = {}, pubstate = {published}, tppubtype = {manual} }
Close
Simon A, King A
Taming the Wrapping of Integer Arithmetic Proceedings Article
In: Nielson H R, Filé G (Ed.): Static Analysis: Proceedings of the 14th International Symposium, pp. 121–136, Springer-Verlag, Berlin, Kongens Lyngby, Denmark, 2007, ISBN: 978-3-540-74060-5.
@inproceedings{SimonK07, title = {Taming the Wrapping of Integer Arithmetic}, author = {A. Simon and A. King}, editor = {H. Riis Nielson and G. Filé}, isbn = {978-3-540-74060-5}, year = {2007}, date = {2007-01-01}, booktitle = {Static Analysis: Proceedings of the 14th International Symposium}, volume = {4634}, pages = {121–136}, publisher = {Springer-Verlag, Berlin}, address = {Kongens Lyngby, Denmark}, series = {Lecture Notes in Computer Science}, abstract = {Variables in programs are usually confined to a fixed number of bits and results that require more bits are truncated. Due to the use of 32-bit and 64-bit variables, inadvertent overflows are rare. However, a sound static analysis must reason about overflowing calculations and conversions between unsigned and signed integers; the latter remaining a common source of subtle programming errors. Rather than polluting an analysis with the low-level details of modelling two's complement wrapping behaviour, this paper presents a computationally light-weight solution based on polyhedral analysis which eliminates the need to check for wrapping when evaluating most (particularly linear) assignments.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} }
Sen R, Srikant Y N
Executable Analysis with Circular Linear Progressions Technical Report
Department of Computer Science and Automation, Indian Institute of Science Bangalore, India, no. IISc-CSA-TR-2007-3, 2007.
@techreport{SenS07TR, title = {Executable Analysis with Circular Linear Progressions}, author = {R. Sen and Y. N. Srikant}, year = {2007}, date = {2007-01-01}, number = {IISc-CSA-TR-2007-3}, address = {Bangalore, India}, institution = {Department of Computer Science and Automation, Indian Institute of Science}, abstract = {We propose a new abstract domain for static analysis of executable code. Concrete state is abstracted using Circular Linear Progressions (CLPs). CLPs model computations using a finite word length as is seen in any real life processor. The finite abstraction allows handling overflow scenarios in a natural and straight-forward manner. Abstract transfer functions have been defined for a wide range of operations which makes this domain easily applicable for analysing code for a wide range of ISAs. CLPs combine the scalability of interval domains with the discreteness of linear congruence domains. We also present a novel, lightweight method to track linear equality relations between static objects that is used by the analysis to improve precision. The analysis is efficient, the total space and time overhead being quadratic in the number of static objects being tracked.}, keywords = {}, pubstate = {published}, tppubtype = {techreport} }
Executable Analysis using Abstract Interpretation with Circular Linear Progressions Proceedings Article
In: Proceedings of the 5th IEEE/ACM International Conference on Formal Methods and Models for Co-Design (MEMOCODE 2007), pp. 39–48, IEEE Computer Society Press, Nice, France, 2007.
@inproceedings{SenS07, title = {Executable Analysis using Abstract Interpretation with Circular Linear Progressions}, author = {R. Sen and Y. N. Srikant}, year = {2007}, date = {2007-01-01}, booktitle = {Proceedings of the 5th IEEE/ACM International Conference on Formal Methods and Models for Co-Design (MEMOCODE 2007)}, pages = {39–48}, publisher = {IEEE Computer Society Press}, address = {Nice, France}, abstract = {We propose a new abstract domain for static analysis of executable code. Concrete states are abstracted using Circular Linear Progressions (CLPs). CLPs model computations using a finite word length as is seen in any real life processor. The finite abstraction allows handling over-flow scenarios in a natural and straight-forward manner. Abstract transfer functions have been defined for a wide range of operations which makes this domain easily applicable for analyzing code for a wide range of ISAs. CLPs combine the scalability of interval domains with the discreteness of linear congruence domains. We also present a novel, lightweight method to track linear equality relations between static objects that is used by the analysis to improve precision. The analysis is efficient, the total space and time overhead being quadratic in the number of static objects being tracked.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} }
Bagnara R, Hill P M, Zaffanella E
An Improved Tight Closure Algorithm for Integer Octagonal Constraints Technical Report
Dipartimento di Matematica, Università di Parma, Italy no. 467, 2007, (Available at urlhttp://www.cs.unipr.it/Publications/. Also published as tt arXiv:0705.4618v2 [cs.DS], available from urlhttp://arxiv.org/.).
Abstract | Links | BibTeX
@techreport{BagnaraHZ07TRb, title = {An Improved Tight Closure Algorithm for Integer Octagonal Constraints}, author = {R. Bagnara and P. M. Hill and E. Zaffanella}, url = {http://bugseng.com/products/ppl/documentation/BagnaraHZ07TRb.pdf}, year = {2007}, date = {2007-01-01}, number = {467}, institution = {Dipartimento di Matematica, Università di Parma, Italy}, abstract = {Integer octagonal constraints (a.k.a. emphUnit Two Variables Per Inequality or emphUTVPI integer constraints) constitute an interesting class of constraints for the representation and solution of integer problems in the fields of constraint programming and formal analysis and verification of software and hardware systems, since they couple algorithms having polynomial complexity with a relatively good expressive power. The main algorithms required for the manipulation of such constraints are the satisfiability check and the computation of the inferential closure of a set of constraints. The latter is called emphtight closure to mark the difference with the (incomplete) closure algorithm that does not exploit the integrality of the variables. In this paper we present and fully justify an $O(n^3)$ algorithm to compute the tight closure of a set of UTVPI integer constraints.}, note = {Available at urlhttp://www.cs.unipr.it/Publications/. Also published as tt arXiv:0705.4618v2 [cs.DS], available from urlhttp://arxiv.org/.}, keywords = {}, pubstate = {published}, tppubtype = {techreport} }
Applications of Polyhedral Computations to the Analysis and Verification of Hardware and Software Systems Technical Report
Dipartimento di Matematica, Università di Parma, Italy no. 458, 2007, (Available at urlhttp://www.cs.unipr.it/Publications/. Also published as tt arXiv:cs.CG/0701122, available from urlhttp://arxiv.org/.).
@techreport{BagnaraHZ07TRa, title = {Applications of Polyhedral Computations to the Analysis and Verification of Hardware and Software Systems}, author = {R. Bagnara and P. M. Hill and E. Zaffanella}, url = {http://bugseng.com/products/ppl/documentation/BagnaraHZ07TRa.pdf}, year = {2007}, date = {2007-01-01}, number = {458}, institution = {Dipartimento di Matematica, Università di Parma, Italy}, abstract = {Convex polyhedra are the basis for several abstractions used in static analysis and computer-aided verification of complex and sometimes mission critical systems. For such applications, the identification of an appropriate complexity-precision trade-off is a particularly acute problem, so that the availability of a wide spectrum of alternative solutions is mandatory. We survey the range of applications of polyhedral computations in this area; give an overview of the different classes of polyhedra that may be adopted; outline the main polyhedral operations required by automatic analyzers and verifiers; and look at some possible combinations of polyhedra with other numerical abstractions that have the potential to improve the precision of the analysis. Areas where further theoretical investigations can result in important contributions are highlighted.}, note = {Available at urlhttp://www.cs.unipr.it/Publications/. Also published as tt arXiv:cs.CG/0701122, available from urlhttp://arxiv.org/.}, keywords = {}, pubstate = {published}, tppubtype = {techreport} }
Widening Operators for Powerset Domains Journal Article
In: Software Tools for Technology Transfer, vol. 9, no. 3/4, pp. 413–414, 2007, (Erratum to citeBagnaraHZ06STTT containing all the figures properly printed.).
BibTeX
@article{BagnaraHZ06STTTerratum, title = {Widening Operators for Powerset Domains}, author = {R. Bagnara and P. M. Hill and E. Zaffanella}, year = {2007}, date = {2007-01-01}, journal = {Software Tools for Technology Transfer}, volume = {9}, number = {3/4}, pages = {413–414}, publisher = {Springer-Verlag, Berlin}, note = {Erratum to citeBagnaraHZ06STTT containing all the figures properly printed.}, keywords = {}, pubstate = {published}, tppubtype = {article} }
Bagnara R, Dobson K, Hill P M, Mundell M, Zaffanella E
Grids: A Domain for Analyzing the Distribution of Numerical Values Proceedings Article
In: Puebla G (Ed.): Logic-based Program Synthesis and Transformation, 16th International Symposium, pp. 219–235, Springer-Verlag, Berlin, Venice, Italy, 2007, ISBN: 3-540-71409-X.
@inproceedings{BagnaraDHMZ07, title = {Grids: A Domain for Analyzing the Distribution of Numerical Values}, author = {R. Bagnara and K. Dobson and P. M. Hill and M. Mundell and E. Zaffanella}, editor = {G. Puebla}, url = {http://bugseng.com/products/ppl/documentation/BagnaraDHMZ07.pdf}, isbn = {3-540-71409-X}, year = {2007}, date = {2007-01-01}, booktitle = {Logic-based Program Synthesis and Transformation, 16th International Symposium}, volume = {4407}, pages = {219–235}, publisher = {Springer-Verlag, Berlin}, address = {Venice, Italy}, series = {Lecture Notes in Computer Science}, abstract = {This paper explores the abstract domain of emphgrids, a domain that is able to represent sets of equally spaced points and hyperplanes over an $n$-dimensional vector space. Such a domain is useful for the static analysis of the patterns of distribution of the values program variables can take. We present the domain, its representation and the basic operations on grids necessary to define the abstract semantics. We show how the definition of the domain and its operations exploit well-known techniques from linear algebra as well as a dual representation that allows, among other things, for a concise and efficient implementation.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} }
Reps T W, Balakrishnan G, Lim J
Intermediate-representation Recovery from Low-level Code Proceedings Article
In: Hatcliff J, Tip F (Ed.): Proceedings of the 2006 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, pp. 100–111, ACM Press, Charleston, South Carolina, USA, 2006, ISBN: 1-59593-196-1.
@inproceedings{RepsBL06, title = {Intermediate-representation Recovery from Low-level Code}, author = {T. W. Reps and G. Balakrishnan and J. Lim}, editor = {J. Hatcliff and F. Tip}, isbn = {1-59593-196-1}, year = {2006}, date = {2006-01-01}, booktitle = {Proceedings of the 2006 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation}, pages = {100–111}, publisher = {ACM Press}, address = {Charleston, South Carolina, USA}, abstract = {The goal of our work is to create tools that an analyst can use to understand the workings of COTS components, plugins, mobile code, and DLLs, as well as memory snapshots of worms and virus-infected code. This paper describes how static analysis provides techniques that can be used to recover intermediate representations that are similar to those that can be created for a program written in a high-level language.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} }
Khachiyan L, Boros E, Borys K, Elbassioni K, Gurvich V
Generating All Vertices of a Polyhedron Is Hard Journal Article
In: Discrete and Computational Geometry, 2006, (Invited contribution.).
@article{KhachiyanBBEG06, title = {Generating All Vertices of a Polyhedron Is Hard}, author = {L. Khachiyan and E. Boros and K. Borys and K. Elbassioni and V. Gurvich}, year = {2006}, date = {2006-01-01}, journal = {Discrete and Computational Geometry}, publisher = {Springer}, address = {New York}, abstract = {We show that generating all negative cycles of a weighted graph is a hard enumeration problem, in both the directed and undirected cases. More precisely, given a family of such cycles, it is NP-complete problem to decide whether this family can be extended or there is no other negative directed cycles in the graph, implying that directed negative cycles cannot be generated in polynomial output time, unless P=NP. As a corollary, we solve in the negative two well-known generating problems from linear programming: (i) Given an (infeasible) system of linear inequalities, generating all minimal infeasible subsystems is hard. Yet, for generating maximal feasible subsystems the complexity remains open. (ii) Given a (feasible) system of linear inequalities, generating all vertices of the corresponding polyhedron is hard. Yet, in case of bounded polyhedra the complexity remains open.}, note = {Invited contribution.}, keywords = {}, pubstate = {published}, tppubtype = {article} }
The Parma Polyhedra Library: Toward a Complete Set of Numerical Abstractions for the Analysis and Verification of Hardware and Software Systems Technical Report
Dipartimento di Matematica, Università di Parma, Italy no. 457, 2006, (Available at urlhttp://www.cs.unipr.it/Publications/. Also published as tt arXiv:cs.MS/0612085, available from urlhttp://arxiv.org/.).
@techreport{BagnaraHZ06TR, title = {The Parma Polyhedra Library: Toward a Complete Set of Numerical Abstractions for the Analysis and Verification of Hardware and Software Systems}, author = {R. Bagnara and P. M. Hill and E. Zaffanella}, url = {http://bugseng.com/products/ppl/documentation/BagnaraHZ06TR.pdf}, year = {2006}, date = {2006-01-01}, number = {457}, institution = {Dipartimento di Matematica, Università di Parma, Italy}, abstract = {Since its inception as a student project in 2001, initially just for the handling (as the name implies) of convex polyhedra, the emphParma Polyhedra Library has been continuously improved and extended by joining scrupulous research on the theoretical foundations of (possibly non-convex) numerical abstractions to a total adherence to the best available practices in software development. Even though it is still not fully mature and functionally complete, the Parma Polyhedra Library already offers a combination of functionality, reliability, usability and performance that is not matched by similar, freely available libraries. In this paper, we present the main features of the current version of the library, emphasizing those that distinguish it from other similar libraries and those that are important for applications in the field of analysis and verification of hardware and software systems.}, note = {Available at urlhttp://www.cs.unipr.it/Publications/. Also published as tt arXiv:cs.MS/0612085, available from urlhttp://arxiv.org/.}, keywords = {}, pubstate = {published}, tppubtype = {techreport} }
In: Software Tools for Technology Transfer, vol. 8, no. 4/5, pp. 449–466, 2006, (In the printed version of this article, all the figures have been improperly printed (rendering them useless). See citeBagnaraHZ06STTTerratum.).
@article{BagnaraHZ06STTT, title = {Widening Operators for Powerset Domains}, author = {R. Bagnara and P. M. Hill and E. Zaffanella}, url = {http://bugseng.com/products/ppl/documentation/BagnaraHZ06STTT.pdf}, year = {2006}, date = {2006-01-01}, journal = {Software Tools for Technology Transfer}, volume = {8}, number = {4/5}, pages = {449–466}, publisher = {Springer-Verlag, Berlin}, abstract = {The emphfinite powerset construction upgrades an abstract domain by allowing for the representation of finite disjunctions of its elements. While most of the operations on the finite powerset abstract domain are easily obtained by ``lifting'' the corresponding operations on the base-level domain, the problem of endowing finite powersets with a provably correct widening operator is still open. In this paper we define three generic widening methodologies for the finite powerset abstract domain. The widenings are obtained by lifting any widening operator defined on the base-level abstract domain and are parametric with respect to the specification of a few additional operators that allow all the flexibility required to tune the complexity/precision trade-off. As far as we know, this is the first time that the problem of deriving non-trivial, provably correct widening operators in a domain refinement is tackled successfully. We illustrate the proposed techniques by instantiating our widening methodologies on powersets of convex polyhedra, a domain for which no non-trivial widening operator was previously known.}, note = {In the printed version of this article, all the figures have been improperly printed (rendering them useless). See citeBagnaraHZ06STTTerratum.}, keywords = {}, pubstate = {published}, tppubtype = {article} }