Abstract
Dependencies play a major role in the analysis of program properties. The analysis of groundness dependencies for logic programs using the class of positive Boolean functions is a main applications area. The precision of such an analysis can be improved through the integration of either pattern information or type information. This paper develops an approach in which type information is exploited. Different from previous work, a separate simple analysis is performed for each subtype of the types. If the types are polymorphic, then dependencies for specific type instances are derived from the analysis of the polymorphic typed program.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
K. R. Apt. Logic programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume B, Formal Models and Semantics, pages 493–574. Elsevier Science Publishers B.V., 1990.
R. Bagnara, P. M. Hill, and E. Zaffanella. Efficient structural information analysis for real CLP languages. In Proc. LPAR2000, volume 1955 of LNCS. Springer, 2000.
M. Bruynooghe, M. Leuschel, and K. Sagonas. A polyvariant binding-time analysis for off-line partial deduction. In Proc. ESOP’98, volume 1381 of LNCS, pages 27–41. Springer, 1998.
F. Bueno, M. de la Banda, M. Hermenegildo, K. Marriott, G. Puebla, and P. Stuckey. A model for inter-module analysis and optimizing compilation. In Preproceedings LOPSTR2000, 2000.
M. Codish. Efficient goal directed bottom-up evaluation of logic programs. J. Logic Programming, 38(3):354–370, 1999.
M. Codish and B. Demoen. Deriving polymorphic type dependencies for logic programs using multiple incarnations of prop. In Proc. SAS’94, volume 864 of LNCS, pages 281–296. Springer, 1994.
M. Codish and B. Demoen. Analyzing logic programs using “PROP”-ositional logic programs and a magic wand. J. Logic Programming, 25(3):249–274, 1995.
M. Codish, K. Marriott, and C. Taboch. Improving program analyses by structure untupling. Journal Logic Programming, 43(3), June 2000.
A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: propositional formula as abstract domain for groundness analysis. In Proc. LICS’91, pages 322–327. IEEE Press, 1991.
A. Cortesi, G. Filé, and W. H. Winsborough. Optimal groundness analysis using propositional logic. J. Logic Programming, 27(2):137–167, 1996.
A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Combinations of abstract domains for logic programming: open product and generic pattern construction. Science of Computer Programming, 38(1–3):27–71, 2000.
P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. POPL’97, pages 238–252, 1977.
B. Demoen, M. García de la Banda, W. Harvey, K. Mariott, and P. Stuckey. An overview of HAL. In Proc. CP’99, volume 1713 of LNCS, pages 174–188. Springer, 1999.
J. Gallagher, D. Boulanger, and H. Saglam. Practical model-based static analysis for deffinite logic programs. In Proc. ILPS’95, pages 351–365. MIT Press, 1995.
J. Gallagher and D. A. de Waal. Fast and precise regular approximations of logic programs. In Proc. ICLP’94, pages 599–613. MIT Press, 1994.
M. Hermenegildo, F. Bueno, G. Puebla, and P. López. Debugging, and optimization using the Ciao system preprocessor. In Proc. ICLP’99, pages 52–66, 1999.
P. Hill and J. Lloyd. The Gödel Language. MIT Press, 1994.
G. Janssens and M. Bruynooghe. Deriving descriptions of possible values of program variables by means of abstract interpretation. J. Logic programming, 13(2&3):205–258, 1992.
V. Lagoon and P. J. Stuckey. A framework for analysis of typed logic programs. In Proc. FLOPS 2001, volume 2024 of LNCS, pages 296–310. Springer, 2001.
B. Le Charlier and P. Van Hentenryck. Experimental evaluation of a generic abstract interpretation algorithm for Prolog. ACM TOPLAS, 16(1):35–101, 1994.
G. Levi and F. Spoto. An experiment in domain refinement: Type domains and type representations for logic programs. In Proc. PLILP/ALP’98, volume 1490 of LNCS, pages 152–169. Springer, 1998.
J.W. Lloyd. Foundation of Logic Programming. Springer, second edition, 1987.
K. Marriott and H. Søndergaard. Precise and efficient groundness analysis for logic programs. ACM Letters on Programming Languages and Systems, 2(1–4):181–196, 1993.
A. Mulkers, W. Simoens, G. Janssens, and M. Bruynooghe. On the practicality of abstract equation systems. In Proc. ICLP’95, pages 781–795. MIT Press, 1995.
G. Puebla and M. Hermenegildo. Some issues in analysis and specialization of modular Ciao-Prolog programs. In Proc. ICLP Workshop on Optimization and Implementation of Declarative Languages, 1999.
O. Ridoux, P. Boizumault, and F. Malésieux. Typed static analysis: Application to groundness analysis of Prolog and lambda-Prolog. In Proc. FLOPS’99, volume 1722 of LNCS, pages 267–283. Springer, 1999.
J.G. Smaus, P. M. Hill, and A. King. Mode analysis domains for typed logic programs. In Proc. LOPSTR’99, volume 1817 of LNCS, pages 82–101. Springer, 2000.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury, an efficient purely declarative logic programming language. J. Logic Programming, 29(1–3):17–64, October–November 1996.
W. Vanhoof. Binding-time analysis by constraint solving: a modular and higherorder approach for Mercury. In Proc. LPAR2000, volume 1955 of LNCS, pages 399–416, Springer, 2000.
W. Vanhoof and M. Bruynooghe. Binding-time analysis for Mercury. In Proc. ICLP’99, pages 500–514. MIT Press, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bruynooghe, M., Vanhoof, W., Codish, M. (2001). Pos(T ): Analyzing Dependencies in Typed Logic Programs. In: Bjørner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 2001. Lecture Notes in Computer Science, vol 2244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45575-2_40
Download citation
DOI: https://doi.org/10.1007/3-540-45575-2_40
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43075-9
Online ISBN: 978-3-540-45575-2
eBook Packages: Springer Book Archive