Skip to main content

Efficient Top-Down Set-Sharing Analysis Using Cliques

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2006)

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

Included in the following conference series:

Abstract

We study the problem of efficient, scalable set-sharing analysis of logic programs. We use the idea of representing sharing information as a pair of abstract substitutions, one of which is a worst-case sharing representation called a clique set, which was previously proposed for the case of inferring pair-sharing. We use the clique-set representation for (1) inferring actual set-sharing information, and (2) analysis within a top-down framework. In particular, we define the new abstract functions required by standard top-down analyses, both for sharing alone and also for the case of including freeness in addition to sharing. We use cliques both as an alternative representation and as widening, defining several widening operators. Our experimental evaluation supports the conclusion that, for inferring set-sharing, as it was the case for inferring pair-sharing, precision losses are limited, while useful efficiency gains are obtained. We also derive useful conclusions regarding the interactions between thresholds, precision, efficiency and cost of widening. At the limit, the clique-set representation allowed analyzing some programs that exceeded memory capacity using classical sharing representations.

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. Amato, G., Scozzari, F.: Optimality in goal-dependent analysis of sharing. Technical Report TR-05-06, Dipartimento di Informatica, Università di Pisa (2005)

    Google Scholar 

  2. Bruynooghe, M., Codish, M., Mulkers, A.: Abstract unification for a composite domain deriving sharing and freeness properties of program variables. In: de Boer, F.S., Gabbrielli, M. (eds.) Verification and Analysis of Logic Languages, pp. 213–230 (1994)

    Google Scholar 

  3. Bagnara, R., Hill, P.M., Zaffanella, E.: Set-sharing is redundant for pair-sharing. Theoretical Computer Science 277(1-2), 3–46 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bueno, F., Navas, J., Hermenegildo, M.: Sharing, freeness, linearity, redundancy, widenings, and cliques. Technical Report CLIP5/2005.0, Technical University of Madrid (UPM), School of Computer Science, UPM (April 2005)

    Google Scholar 

  5. Codish, M., Dams, D., Filé, G., Bruynooghe, M.: On the design of a correct freeness analysis for logic programs. The Journal of Logic Programming 28(3), 181–206 (1996)

    Article  MATH  Google Scholar 

  6. Codish, M., Mulkers, A., Bruynooghe, M., García de la Banda, M., Hermenegildo, M.: Improving Abstract Interpretations by Combining Domains. In: Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, pp. 194–206. ACM, New York (1993)

    Google Scholar 

  7. Fecht, C.: An efficient and precise sharing domain for logic programs. In: Kuchen, H., Swierstra, S.D. (eds.) PLILP 1996. LNCS, vol. 1140, pp. 469–470. Springer, Heidelberg (1996)

    Google Scholar 

  8. Filé, G.: Share x Free: Simple and correct. Technical Report 15, Dipartamento di Matematica, Universita di Padova (December 1994)

    Google Scholar 

  9. Hermenegildo, M., Bueno, F., Puebla, G., López-García, P.: Program Analysis, Debugging and Optimization Using the Ciao System Preprocessor. In: 1999 Int’l. Conference on Logic Programming, pp. 52–66. MIT Press, Cambridge (1999)

    Google Scholar 

  10. Hermenegildo, M., Puebla, G., Marriott, K., Stuckey, P.: Incremental Analysis of Constraint Logic Programs. ACM Transactions on Programming Languages and Systems 22(2), 187–223 (2000)

    Article  Google Scholar 

  11. Hill, P.M., Zaffanella, E., Bagnara, R.: A correct, precise and efficient integration of set-sharing, freeness and linearity for the analysis of finite and rational tree languages. Theory and Practice of Logic Programming 4(3), 289–323 (2004)

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  MATH  Google Scholar 

  13. King, A., Soper, P.: Depth-k Sharing and Freeness. In: International Conference on Logic Programming. MIT Press, Cambridge (1994)

    Google Scholar 

  14. Muthukumar, K., Hermenegildo, M.: Deriving A Fixpoint Computation Algorithm for Top-down Abstract Interpretation of Logic Programs. Technical Report ACT-DC-153-90, Microelectronics and Computer Technology Corporation (MCC), Austin, TX 78759 (April 1990)

    Google Scholar 

  15. Muthukumar, K., Hermenegildo, M.: Combined Determination of Sharing and Freeness of Program Variables Through Abstract Interpretation. In: 1991 International Conference on Logic Programming, pp. 49–63. MIT Press, Cambridge (1991)

    Google Scholar 

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

    Article  MATH  Google Scholar 

  17. Mulkers, A., Simoens, W., Janssens, G., Bruynooghe, M.: On the Practicality of Abstract Equation Systems. In: International Conference on Logic Programming. MIT Press, Cambridge (1995)

    Google Scholar 

  18. Zaffanella, E.: Correctness, Precision and Efficiency in the Sharing Analysis of Real Logic Languages. PhD thesis, School of Computing, University of Leeds, Leeds, U.K. (2001)

    Google Scholar 

  19. Zaffanella, E., Bagnara, R., Hill, P.M.: Widening Sharing. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 414–431. Springer, Berlin (1999)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Navas, J., Bueno, F., Hermenegildo, M. (2005). Efficient Top-Down Set-Sharing Analysis Using Cliques. In: Van Hentenryck, P. (eds) Practical Aspects of Declarative Languages. PADL 2006. Lecture Notes in Computer Science, vol 3819. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11603023_13

Download citation

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

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-31685-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics