Abstract
This article considers static analysis based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains provide more information potentially than obtained by the independent analyses. However, the construction of a combined analysis often requires redefining the basic operations for the combined domain. A practical approach to maintain precision in combined analyses of logic programs which reuses the individual analyses and does not redefine the basic operations is illustrated. The advantages of the approach are that (1) proofs of correctness for the new domains are not required and (2) implementations can be reused. The approach is demonstrated by showing that a combined sharing analysis—constructed from “old” proposals—compares well with other “new” proposals suggested in recent literature both from the point of view of efficiency and accuracy.
- BARBUTI, R., GIACOBAZZl, R., AND LP.VI, G. 1993. A general framework for semanticsbased bottom-up abstract interpretation of logic programs. A CA/{ Trans. Program. Lang. Syst. 15, 1, 133-181. Google Scholar
- BRUYNOOGHB, IVI. 1991. A practical framework for the abstract interpretation of logic programs. J. Logic Program. 10, 2 (Feb.), 91-124. Google Scholar
- BRUYNOOGHB, M. AND BOULANGER, D. 1994. Abstract interpretation for (constraint)logic programming. In Constrain( Programming, B. Mayoh, E. Tyugu, and J. Penjam, Eds. NATO Advanced Science Institutes Series, vol. F/131. Springer-Verlag, Berlin, 228-258.Google Scholar
- BUBNO, F., GARCiA DE LA BANDA, M., AND HBRMBNBGILDO, M. 1994. Effectiveness of global analysis in strict independence-based automatic program parallelization. In Proceedings of the International Symposium on Logic Programming. MIT Press, Cambridge, Mass. Google Scholar
- CODISH, M., DAMS, D., AND YARDBNI, E. 1994a. Bottom-up abstract interpretation of logic programs. J. Theor. Comput Sci. i~4, 93-125. Google Scholar
- CODISH, M., DAMS, D., AND "Y-ARDBNI, E. 1991. Derivation and safety of an abstract algorithm for groundness and aliasing analysis. In Proceedings of the 8th International Conference on Logic Programming (Paris, France). MIT Press, Cambridge, Mass., 79-93.Google Scholar
- COOISH, M., GArtC~A DB LA BANOA, M., BrtUYNOOGHP,, M., AND H~RMBNBG~LOO, M. 1994b. Goal dependent vs. goal independent analysis of logic programs. In Proceedings of the 5th International Conference on Logic Programming and Automated Reasoning. Lecture Notes in Artificial Intelligence, vol. 822. Springer-Verlag, Berlin, 305-320. Google Scholar
- COOISH, M., MULKBRS, A., BaUYNOOGHB, M., GARC~A OB r~A BANOA, M., AND HErtMBNBOXLDO, M. 1993. Improving abstract interpretations by combining domains. In Proceedings of the A CM Symposium on Partial Evaluation and Semantics-based Program Transformatton. ACM Press, New York, 194-205. Google Scholar
- CORTESI, A. AND FII~.~ G. 1993. Comparison and design of abstract domains for sharing analysis. In Proceedings of the 8th Itahan Conference on Logtc Programming, G ULP'93 (Gizzeria Lido), D. Sacch, Ed. Institut d'Investigaci6 en Intel-lig~ncia Artificial. CSIC.Google Scholar
- CORTESI, A. AND FILE, G. 1992. Freeness computation in abstract interpretation. Rapporto Inferno n.2/92 (March), Dip. di Matematica Pura e Applicata, UniversitA di Padova, Italia.Google Scholar
- CORTESI, A., FILI~, G., AND WINSBOROUQH, W. 1992. Comparison of abstract interpretations. In Proceedings of the I9~h International Colloquium on Automata, Languages, and Programming. Lecture Notes in Computer Science, vol. 623. Sprlnger-Verlag, Berlin. Google Scholar
- CORTESI, A., LB CHARLIER, B., AND VAN HBNTBNRYCK, P. 1994. Combinations of abstract domains for logic programming. In Conference Record of POPL '9$: 21st A CM SIGPLAN- SIGA CT Symposium on Principles of Programming Languages (Portland, Oreg.). ACM Press, New York, 227-239. Google Scholar
- COUSOT, P, AND COUSOT, R. 1992. Abstract interpretation and application to logic programs. J. Log, c Program. 13, 2 and 3 (July), 103-179. Google Scholar
- COUSOT, P. AND COUSOT, R. 1979. Systematic design of program analysis frameworks. In Proceedings of the 6th A CM Symposium Principles of Programming Languages (San Antonio, Tcx.). ACM, New York, 269-282. Google Scholar
- COUSOT, P. AND COUSOT, R. 1977. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the ~th A CM Sympostum on Principles of Programming Languages (Los Angeles, Calif.). ACM, New York, 238-252. Google Scholar
- DEBRAY, S. K., (Ed.). 1992. Special issue: Abstract interpretation. Y. Logic Program. 13, 2 and 3 (J~ay).Google Scholar
- HBRMBNBGILDO, M. AND GRt31~Nt~, K. 1990. &-Prolog and its performance: Exploiting independent and-parallelism. In Proceedings of the 7th }nternattonat Conference on Logic Programmmg (Jerusalem, Israel). MIT Press, Cambridge, Mass., 253-268. Google Scholar
- HORIUCHI, K. 1992. Less abstract semantics for abstract interpretation of FGHC programs. In Proceedings of the International Conference on Fifth Generatzon Computer Systems (Tokyo, Japan). ICOT, Tokyo, 897-906.Google Scholar
- JACOBS, D. AND LANGEN, A. 1992. Static analysis of logic programs for independent andparallelism. J. Logic Program. 13, 2 and 3 (July), 291-314. Google Scholar
- JANSSENS, (}. AND BRUYNOOGHB, M. 1992. Deriving descriptions of possibIe values of program variables by means of abstract interpretation. J. Logic Program. 13, 2 and 3 (July), 205-258. Google Scholar
- JONES, N. D. AND Sq}NDERGAARD, H. 1987. A semantic-based framework for the abstract interpretation of Prolog. In Abstract Interpretatton of DecIaratzve Languages, S. Abramsky and C. Hankin, Eds. Ellis Horwood, Chichester, U.K., 123-142.Google Scholar
- LE. CHARLIER, B. AND VAN Ht~NTBNRYCK, P. 1994. Experimental evaluation of a generic abstract interpretation algorithm for prolog. A CM Trans. Program. Lang. Syst. 16, 1, 35-101. Google Scholar
- MUTHUKUMAR, K. AND HBRMNNI~GILDO, M. 1992. Compile-time derivation of variable dependency using abstract interpretation. J. Logtc Program. 13, 2 and 3 (July), 315-347. Google Scholar
- MUTHUKUMAR, K. AND HEIRMBNt~GILDO, M. 1991. Combined determination of sharing and freehess of program variables through abstract interpretation. In Proceedings of the 8th International Conference on Logtc Programming (Paris, France). MIT Press, Cambridge, Mass., 49-63.Google Scholar
- MUTHUKUMAR, K., GARCiA Dt~ LA BANDA, M., AND Ht~RMENEGILDO, M. 1992. Sharing and freeness analysis of logic programs using abstract interpretation. Tech. Rep. (Nov.), T. U. of Madrid (UPM), Facultad Informgtica UPM, Madrid, Spain.Google Scholar
- NELSON, F. 1988. Strictness analysis and denotational abstract interpretation. Inf. Comput. 76, 29-92. Google Scholar
- S~NDBRGAARD, H. 1986. An application of abstract interpretation of logic programs: Occur check reduction. In ESOP'86 Procee&ngs European Symposium on Programming, B. Robinet and R. Wilhelm, Eds. Lecture Notes in Computer Science, vol. 213. Springer-Verlag, New York, 327-338. Google Scholar
- SUNDARARAJAN, PL. AND CONERY, J. 1992. An abstract interpretation scheme for groundness, freeness and sharing analysis of logic programs. In Conference on Foundations of Software Technology and Theorettcal Computer Science. Lecture Notes in Computer Science, vol. 652. Springer-Verlag, New York, 203-216. Google Scholar
Index Terms
- Improving abstract interpretations by combining domains
Recommendations
Improving abstract interpretations by combining domains
PEPM '93: Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulationIn this paper we consider static analyses based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains potentially provide more information than obtainable by performing the independent ...
Making abstract domains condensing
In this article, we show that reversible analyses of logic languages by abstract interpretation can be performed without loss of precision by systematically refining abstract domains. This is obtained by adding to the abstract domain the minimal amount ...
Abstract interpretation of resolution-based semantics
We extend the abstract interpretation point of view on context-free grammars by Cousot and Cousot to resolution-based logic programs and proof systems. Starting from a transition-based small-step operational semantics of Prolog programs (akin to the ...
Comments