Efficient Top-Down Set-Sharing Analysis Using Cliques

  • Jorge Navas
  • Francisco Bueno
  • Manuel Hermenegildo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3819)


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.


Logic Program Alternative Representation Maximal Clique Abstract Interpretation Program Variable 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AS05]
    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. [BCM94]
    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. [BHZ02]
    Bagnara, R., Hill, P.M., Zaffanella, E.: Set-sharing is redundant for pair-sharing. Theoretical Computer Science 277(1-2), 3–46 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  4. [BNH05]
    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. [CDFB96]
    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)zbMATHCrossRefGoogle Scholar
  6. [CMB+93]
    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. [Fec96]
    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. [Fil94]
    Filé, G.: Share x Free: Simple and correct. Technical Report 15, Dipartamento di Matematica, Universita di Padova (December 1994)Google Scholar
  9. [HBPLG99]
    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. [HPMS00]
    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)CrossRefGoogle Scholar
  11. [HZB04]
    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)zbMATHCrossRefMathSciNetGoogle Scholar
  12. [JL92]
    Jacobs, D., Langen, A.: Static Analysis of Logic Programs for Independent And-Parallelism. Journal of Logic Programming 13(2 and 3), 291–314 (1992)zbMATHCrossRefGoogle Scholar
  13. [KS94]
    King, A., Soper, P.: Depth-k Sharing and Freeness. In: International Conference on Logic Programming. MIT Press, Cambridge (1994)Google Scholar
  14. [MH90]
    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. [MH91]
    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. [MH92]
    Muthukumar, K., Hermenegildo, M.: Compile-time Derivation of Variable Dependency Using Abstract Interpretation. Journal of Logic Programming 13(2/3), 315–347 (1992)zbMATHCrossRefGoogle Scholar
  17. [MSJB95]
    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. [Zaf01]
    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. [ZBH99]
    Zaffanella, E., Bagnara, R., Hill, P.M.: Widening Sharing. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 414–431. Springer, Berlin (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jorge Navas
    • 1
  • Francisco Bueno
    • 2
  • Manuel Hermenegildo
    • 1
    • 2
  1. 1.D. of C.S. and Electr. and Comp. Eng.U. of New MexicoAlbuquerqueUSA
  2. 2.School of Computer ScienceT.U. Madrid (UPM)MadridSpain

Personalised recommendations