Skip to main content

Set constraints and set-based analysis

  • Conference paper
  • First Online:
Principles and Practice of Constraint Programming (PPCP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 874))

Abstract

The calculus of set constraints was presented, and its history of basic results and applications briefly described. The approach of set-based analysis was then presented in an informal style, with a focus on the breadth of applicability of the technique. The relationship between set constraints and set-based analysis is roughly that the approximation of a program by ignoring inter-variable dependencies can be captured by set constraints. It was then argued that set-based analysis can provide accurate and efficient program analysis.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aiken and E. Wimmers, “Solving Systems of Set Constraints”, Proc. 7th IEEE Symp. on Logic in Computer Science, Santa Cruz, pp. 329–340, June 1992.

    Google Scholar 

  2. A. Aiken and E. Wimmers, “Type Inclusion Constraints and Type Inference”, Proc. 1993 Conf. on Functional Programming and Computer Architecture, Copenhagen, pp. 31–41, June 1993.

    Google Scholar 

  3. A. Aiken, E. Wimmers and T.K. Lakshman, “Soft Typing with Conditional Types” Proc. 21st ACM Symp. on Principles of Programming Languages, Portland, OR, pp. 163–173, January 1994.

    Google Scholar 

  4. A. Aiken, D. Kozen and E. Wimmers, “Decidability of Systems of Set Constraints with Negative Constraints”, IBM Research Report RJ 9421, 1993.

    Google Scholar 

  5. L. Bachmair, H. Ganzinger and U. Waldmann, “Set Constraints are the Monadic Class”, Proc. 8th IEEE Symp. on Logic in Computer Science, 75–83, 1993.

    Google Scholar 

  6. W. Charatonik and L. Pacholski, “Negative Set Constraints: an Easy Proof of Decidability”, Proc. 9th IEEE Symp. on Logic in Computer Science, 1994, to appear.

    Google Scholar 

  7. P. Cousot and R. Cousot, “Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints”, Proc. 4th ACM Symp. on Principles of Programming Languages, Los Angeles, pp. 238–252, January 1977.

    Google Scholar 

  8. J. Gallagher and D.A. de Wall, “Fast and Precise Regular Approximations of Logic Programs”, Proc. International Conf. on Logic Programming, MIT Press, to appear 1994.

    Google Scholar 

  9. R. Gilleron, S. Tison and M. Tommasi, “Solving Systems of Set Constraints using Tree Automata”, Proc. 10th Annual Symposium on Theoretical Aspects of Computer Science, pp. 505–514, 1992.

    Google Scholar 

  10. R. Gilleron, S. Tison and M. Tommasi, “Solving Systems of Set Constraints with Negated Subset Relationships”, in Foundations of Computer Science, 372–380, 1993.

    Google Scholar 

  11. N. Heintze, “Practical Aspects of Set-Based Analysis”, Proc. Joint International Conf. and Symp. on Logic Programming, Washington D.C., MIT Press, pp. 765–779, November 1992.

    Google Scholar 

  12. N. Heintze, “Set-Based Program Analysis”, Ph.D. thesis, School of Computer Science, Carnegie Mellon University, October 1992.

    Google Scholar 

  13. N. Heintze, “Set-Based Analysis of ML Programs”, to appear, ACM Conference on Lisp and Functional Programming, 1994.

    Google Scholar 

  14. N. Heintze, “Set-Based Analysis of Arithmetic”, Carnegie Mellon University technical report CMU-CS-93-221, 20pp., December 1993.

    Google Scholar 

  15. N. Heintze, “Set Constraints in Program Analysis”, Workshop on Global Compilation, International Logic Programming Symposium, October 1993.

    Google Scholar 

  16. N. Heintze and J. Jaffar, “A Finite Presentation Theorem for Approximating Logic Programs”, Proc. 17th ACM Symp. on Principles of Programming Languages, San Francisco, pp. 197–209, January 1990. (A full version of this paper appears as IBM Technical Report RC 16089 (# 71415), 66 pp., August 1990.)

    Google Scholar 

  17. N. Heintze and J. Jaffar, “A Decision Procedure for a Class of Herbrand Set Constraints”, Proc. 5th IEEE Symp. on Logic in Computer Science, Philadelphia, pp. 42–51, June 1990. (A full version of this paper appears as Carnegie Mellon University Technical Report CMU-CS-91-110, 42 pp., February 1991.)

    Google Scholar 

  18. N. Heintze and J. Jaffar, “Semantic Types for Logic Programs” in Types in Logic Programming, F. Pfenning (Bd.), MIT Press Series in Logic Programming, pp. 141–155, 1992.

    Google Scholar 

  19. N. Heintze and J. Jaffar, “An Engine for Logic Program Analysis”, Proc. 7th IEEE Symp. on Logic in Computer Science, Santa Cruz, pp. 318–328, June 1992.

    Google Scholar 

  20. T. Jensen and T. Mogensen, “A Backwards Analysis for Compile-Time Garbage Collection”, Proc. 3rd European Symp. on Programming, Copenhagen, LNCS 432, pp. 227–239, May 1990.

    Google Scholar 

  21. N. Jones, “Flow Analysis of Lazy Higher-Order Functional Programs”, in Abstract Interpretation of Declarative Languages, S. Abramsky and C. Hankin (Eds.), Ellis Horwood, 1987.

    Google Scholar 

  22. N. Jones and S. Muchnick, “Flow Analysis and Optimization of LISP-like Structures”, Proc. 6th ACM Symp. on Principles of Programming Languages, San Antonio, pp. 244–256, January 1979.

    Google Scholar 

  23. R. Milner, M. Tofte and R. Harper, “The Definition of Standard ML”, MIT Press, 1990.

    Google Scholar 

  24. T. Mogensen, “Separating Binding Times in Language Specifications”, Proc. Functional Programming and Computer Architecture, London, ACM, pp. 12–25, September 1989.

    Google Scholar 

  25. P. Mishra, “Toward a Theory of Types in PROLOG”, Proc. 1st IEEE Symp. on Logic Programming, Atlantic City, pp. 289–298, 1984.

    Google Scholar 

  26. L. Pacholski, personal communication, March 1994.

    Google Scholar 

  27. J. Palsberg and M. Schwartzbach, “Safety Analysis versus Type Inference for Partial Types” Information Processing Letters, Vol 43, pp. 175–180, North-Holland, September 1992.

    Google Scholar 

  28. M.O. Rabin, “Decidability of Second-order Theories and Automata on Infinite Trees”, Transactions of the American Math. Society 141, pp 1–35, 1969.

    Google Scholar 

  29. J. Reynolds, “Automatic Computation of Data Set Definitions”, Information Processing 68, pp. 456–461, North-Holland, 1969.

    Google Scholar 

  30. P. Sestoft, “Replacing Function Parameters by Global Variables”, Proc. Functional Programming and Computer Architecture, London, ACM, pp. 39–53, September 1989.

    Google Scholar 

  31. T.E. Uribe, “Sorted Unification using Set Constraints”, Proc. 11th Intl. Conf. on Automated Deduction, D. Kapur (Ed), Springer Verlag Lecture Notes in Computer Science, 1992.

    Google Scholar 

  32. E. Yardeni and E.Y. Shapiro, “A Type System for Logic Programs”, Journal of Logic Programming, Vol. 10, pp. 125–153, 1991. (An early version of this paper appears in Concurrent PROLOG: Collected Papers, Vol. 2, MIT Press, pp 211–244, 1987.)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alan Borning

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Heintze, N., Jaffar, J. (1994). Set constraints and set-based analysis. In: Borning, A. (eds) Principles and Practice of Constraint Programming. PPCP 1994. Lecture Notes in Computer Science, vol 874. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58601-6_107

Download citation

  • DOI: https://doi.org/10.1007/3-540-58601-6_107

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58601-2

  • Online ISBN: 978-3-540-49032-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics