Skip to main content

Collapsing Closures

  • Conference paper
Logic Programming (ICLP 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4079))

Included in the following conference series:

Abstract

A description in the Jacobs and Langen domain is a set of sharing groups where each sharing group is a set of program variables. The presence of a sharing group in a description indicates that all the variables in the group can be bound to terms that contain a common variable. The expressiveness of the domain, alas, is compromised by its intractability. Not only are descriptions potentially exponential in size, but abstract unification is formulated in terms of an operation, called closure under union, that is also exponential. This paper shows how abstract unification can be reformulated so that closures can be collapsed in two senses. Firstly, one closure operation can be folded into another so as to reduce the total number of closures that need to be computed. Secondly, the remaining closures can be applied to smaller descriptions. Therefore, although the operation remains exponential, the overhead of closure calculation is reduced. Experimental evaluation suggests that the cost of analysis can be substantially reduced by collapsing closures.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bagnara, R., Gori, R., Hill, P., Zaffanella, E.: Finite-Tree Analysis for Constraint Logic-Based Languages. Information and Computation 193(2), 84–116 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  2. Bagnara, R., Hill, P., Zaffanella, E.: Set-Sharing is Redundant for Pair-Sharing. Theoretical Computer Science 277(1-2), 3–46 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  3. Bagnara, R., Zaffanella, E., Hill, P.: Enhanced Sharing Analysis Techniques: A Comprehensive Evaluation. Theory and Practice of Logic Programming 5 (2005)

    Google Scholar 

  4. Bossi, A., Gabbrielli, M., Levi, G., Martelli, M.: The s-Semantics Approach: Theory and Applications. The Journal of Logic Programming 19, 149–197 (1994)

    Article  MathSciNet  Google Scholar 

  5. Bruynooghe, M.: A Practical Framework for the Abstract Interpretation of Logic Programs. The Journal of Logic Programming 10(2), 91–124 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  6. Bueno, F., García de la Banda, M.: Set-Sharing Is Not Always Redundant for Pair-Sharing. In: Kameyama, Y., Stuckey, P.J. (eds.) FLOPS 2004. LNCS, vol. 2998, pp. 117–131. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  7. Codish, M.: Efficient Goal Directed Bottom-Up Evaluation of Logic Programs. The Journal of Logic Programming 38(3), 355–370 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  8. Codish, M., Lagoon, V., Bueno, F.: An Algebraic Approach to Sharing Analysis of Logic Programs. The Journal of Logic Programming 42(2), 111–149 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  9. Codish, M., Mulkers, A., Bruynooghe, M., García de la Banda, M., Hermenegildo, M.: Improving Abstract Interpretations by Combining Domains. ACM TOPLAS 17(1), 28–44 (1995)

    Article  Google Scholar 

  10. Codish, M., Søndergaard, H., Stuckey, P.: Sharing and Groundness Dependencies in Logic Programs. ACM TOPLAS 21(5), 948–976 (1999)

    Article  Google Scholar 

  11. Falaschi, M., Levi, G., Palamidessi, C., Martelli, M.: Declarative Modeling of the Operational Behavior of Logic Languages. Theoretical Computer Science 69(3), 289–318 (1989)

    Article  MATH  MathSciNet  Google Scholar 

  12. Gallagher, J.: A Bottom-Up Analysis Toolkit. Technical Report 95-016, Department of Computer Science, University of Bristol (Invited paper at WAILL) (1995)

    Google Scholar 

  13. Hans, W., Winkler, S.: Aliasing and Groundness Analysis of Logic Programs through Abstract Interpretation and its Safety. Technical Report Nr. 92-27, RWTH Aachen, Lehrstuhl für Informatik II Ahornstraße 55, W-5100 Aachen (1992)

    Google Scholar 

  14. Jacobs, D., Langen, A.: Static Analysis of Logic Programs for Independent And-Parallelism. The Journal of Logic Programming 13(2 & 3), 291–314 (1992)

    Article  MATH  Google Scholar 

  15. Li, X., King, A., Lu, L.: Correctness of Closure Collapsing. Technical Report 2-06, University of Kent (2006), http://www.cs.kent.ac.uk/pubs/2006/2370

  16. Li, X., King, A., Lu, L.: Lazy Set-Sharing Analysis. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol. 3945, pp. 177–191. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  17. Muthukumar, K., Hermenegildo, M.: Compile-Time Derivation of Variable Dependency Using Abstract Interpretation. The Journal of Logic Programming 13(2-3), 315–347 (1992)

    Article  MATH  Google Scholar 

  18. Schachte, P., Søndergaard, H.: Closure Operators for ROBDDs. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 1–16. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  19. Søndergaard, H.: An Application of Abstract Interpretation of Logic Programs: Occur Check Reduction. In: Robinet, B., Wilhelm, R. (eds.) ESOP 1986. LNCS, vol. 213, pp. 327–338. Springer, Heidelberg (1986)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Li, X., King, A., Lu, L. (2006). Collapsing Closures. In: Etalle, S., Truszczyński, M. (eds) Logic Programming. ICLP 2006. Lecture Notes in Computer Science, vol 4079. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11799573_13

Download citation

  • DOI: https://doi.org/10.1007/11799573_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-36635-5

  • Online ISBN: 978-3-540-36636-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics