Efficient Top-Down Set-Sharing Analysis Using Cliques
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.
KeywordsLogic Program Alternative Representation Maximal Clique Abstract Interpretation Program Variable
Unable to display preview. Download preview PDF.
- [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
- [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
- [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
- [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
- [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
- [Fil94]Filé, G.: Share x Free: Simple and correct. Technical Report 15, Dipartamento di Matematica, Universita di Padova (December 1994)Google Scholar
- [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
- [KS94]King, A., Soper, P.: Depth-k Sharing and Freeness. In: International Conference on Logic Programming. MIT Press, Cambridge (1994)Google Scholar
- [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
- [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
- [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
- [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