Abstract
The finite 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.
Similar content being viewed by others
References
Abramsky, S., Jung, A.: Domain theory. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. 3, Chapter 1, pp. 1–168. Clarendon Press, Oxford, UK (1994)
Bagnara, R.: A hierarchy of constraint systems for data-flow analysis of constraint logic-based languages. Sci. Comput. Program. 30(1–2), 119–155 (1998)
Bagnara, R., Hill, P.M., Mazzi, E., Zaffanella, E.: Widening operators for weakly-relational numeric abstractions. In: Hankin, C., Silveroni, I. (eds.) Static Analysis: Proceedings of the 12th International Symposium, London, UK. Lecture Notes in Computer Science, vol. 3672, pp. 3–18. Springer-Verlag, Berlin Heidelberg New York (2005)
Bagnara, R., Hill, P.M., Ricci, E., Zaffanella, E.: The Parma Polyhedra Library User’s Manual. Department of Mathematics, University of Parma, Parma, Italy, release 0.5 edition, April 2003. http://www.cs.unipr.it/ppl/
Bagnara, R., Hill, P.M., Ricci, E., Zaffanella, E.: Precise widening operators for convex polyhedra. In: Cousot, R. (ed.) Static Analysis: Proceedings of the 10th International Symposium, San Diego, California, USA. Lecture Notes in Computer Science, vol. 2694, pp. 337–354. Springer-Verlag, Berlin Heidelberg New York (2003)
Bagnara, R., Hill, P.M., Ricci, E., Zaffanella, E.: Precise widening operators for convex polyhedra. Sci. Comput. Program. 58(1–2), 28–56 (2005)
Bagnara, R., Ricci, E., Zaffanella, E., Hill, P.M.: Possibly not closed convex polyhedra and the Parma Polyhedra Library. In: Hermenegildo, M.V., Puebla, G. (eds.) Static Analysis: Proceedings of the 9th International Symposium, Madrid, Spain. Lecture Notes in Computer Science, vol. 2477, pp. 213–229. Springer-Verlag, Berlin Heidelberg New York (2002)
Besson, F., Jensen, T.P., Talpin, J.-P.: Polyhedral analysis for synchronous languages. In: Cortesi, A., Filé, G. (eds.) Static Analysis: Proceedings of the 6th International Symposium, Venice, Italy. Lecture Notes in Computer Science, vol. 1694, pp. 51–68. Springer-Verlag, Berlin Heidelberg New York (1999)
Birkhoff, G.: Lattice Theory, vol. XXV of Colloquium Publications, 3rd edn. American Mathematical Society, Providence, Rhode Island, USA (1967)
Bourdoncle, F.: Abstract interpretation by dynamic partitioning. J. Funct. Program. 2(4), 407–435 (1992)
Bultan, T., Gerber, R., Pugh, W.: Model-checking concurrent systems with unbounded integer variables: Symbolic representations, approximations, and experimental results. ACM Trans. Program. Lang. Syst. 21(4), 747–789 (1999)
Cortesi, A., Filé, G., Winsborough, W.: Prop revisited: Propositional formula as abstract domain for groundness analysis. In: Proceedings of the Sixth Annual IEEE Symposium on Logic in Computer Science, pp. 322–327. IEEE Computer Society Press, Amsterdam, The Netherlands (1991)
Cortesi, A., Le Charlier, B., Van Hentenryck, P.: Combinations of abstract domains for logic programming: Open product and generic pattern construction. Sci. Comput. Program. 38(1–3), 27–71 (2000)
Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Robinet, B. (ed.) Proceedings of the Second International Symposium on Programming, Dunod, Paris, France, pp. 106–130 (1976)
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the Fourth Annual ACM Symposium on Principles of Programming Languages, pp. 238–252. ACM Press, New York (1977)
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Proceedings of the Sixth Annual ACM Symposium on Principles of Programming Languages, pp. 269–282. ACM Press, New York (1979)
Cousot, P., Cousot, R.: Abstract interpretation and applications to logic programs. J. Logic Program. 13(2&3), 103–179 (1992)
Cousot, P., Cousot, R.: Abstract interpretation frameworks. J. Logic Comput. 2(4), 511–547 (1992)
Cousot, P., Cousot, R.: Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. In: Bruynooghe, M., Wirsing, M. (eds.) Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming, Leuven, Belgium. Lecture Notes in Computer Science, vol. 631, pp. 269–295. Springer-Verlag, Berlin Heidelberg New York (1992)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Proceedings of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona, pp. 84–96. ACM Press, New York (1978)
Delzanno, G., Podelski, A.: Model checking in CLP. In: Cleaveland, R. (ed.) Tools and Algorithms for Construction and Analysis of Systems, Proceedings of the 5th International Conference, TACAS ’99, Amsterdam, The Netherlands. Lecture Notes in Computer Science, vol. 1579, pp. 223–239. Springer-Verlag, Berlin Heidelberg New York (1999)
Dershowitz, N., Manna, Z.: Proving termination with multiset orderings. Commun. ACM 22(8), 465–476 (1979)
Filé, G., Ranzato, F.: The powerset operator on abstract interpretations. Theoret. Comput. Sci. 222, 77–111 (1999)
Granger, P.: Static analyses of congruence properties on rational numbers (extended abstract). In: Van Hentenryck, P. (ed.) Static Analysis: Proceedings of the 4th International Symposium, Paris, France. Lecture Notes in Computer Science, vol. 1302, pp. 278–292. Springer-Verlag, Berlin Heidelberg New York(1997)
Halbwachs, N.: Détermination Automatique de Relations Linéaires Vérifiées par les Variables d’un Programme. Thèse de 3ème cycle d’informatique, Université scientifique et médicale de Grenoble, Grenoble, France (March 1979)
Halbwachs, N.: Delay analysis in synchronous programs. In: Courcoubetis, C. (ed.) Computer Aided Verification: Proceedings of the 5th International Conference, Elounda, Greece. Lecture Notes in Computer Science, vol. 697, pp. 333–346. Springer-Verlag, Berlin Heidelberg New York (1993)
Halbwachs, N., Proy, Y.-E., Roumanoff, P.: Verification of real-time systems using linear relation analysis. Formal Methods Syst. Des. 11(2), 157–185 (1997)
Holzbaur, C.: OFAI clp(q,r) manual, edn. 1.3.3. Technical Report TR-95-09, Austrian Research Institute for Artificial Intelligence, Vienna (1995)
Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The ω Library Interface Guide. Technical Report CS-TR-3445, Department of Computer Science, University of Maryland, College Park, MD, USA (1995)
Le Verge, H.: A note on Chernikova’s Algorithm. Publication interne 635, IRISA, Campus de Beaulieu, Rennes, France (1992)
Loechner, V.: PolyLib: A library for manipulating parameterized polyhedra. http://icps.u-strasbg.fr/loechner/polylib/. Cited March 1999 (Declares itself to be a continuation of Wilde93th).
Pugh, W.: A practical algorithm for exact array dependence analysis. Commun. ACM 35(8), 102–114 (1992)
Srivastava, D.: Subsumption and indexing in constraint query languages with linear arithmetic constraints. Ann. Math. Artif. Intell. 8(3–4), 315–343 (1993)
Van Hentenryck, P., Cortesi, A., Le Charlier, B.: Type analysis of Prolog using type graphs. J. Logic Program. 22(3), 179–209 (1995)
Wilde, D.K.: A library for doing polyhedral operations. Master’s thesis, Oregon State University, Corvallis, Oregon, December 1993 (also published as IRISA Publication interne 785, Rennes, France (1993))
Author information
Authors and Affiliations
Corresponding author
Additional information
An erratum to this article is available at http://dx.doi.org/10.1007/s10009-007-0029-y.
Rights and permissions
About this article
Cite this article
Bagnara, R., Hill, P.M. & Zaffanella, E. Widening operators for powerset domains. Int J Softw Tools Technol Transfer 8, 449–466 (2006). https://doi.org/10.1007/s10009-005-0215-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-005-0215-8