Positive Boolean Functions as Multiheaded Clauses
Boolean functions are ubiquitous in the analysis of (constraint) logic programs.The domain of positive Boolean functions, Pos, has been used for expressing, for example, groundness, finiteness and sharing dependencies. The performance of an analyser based on Boolean functions is critically dependent on the way in which the functions are represented. This paper discusses multiheaded clauses as a representation of positive Boolean functions. The domain operations for multiheaded clauses are conceptually simple and can be implemented straightforwardly in Prolog. Moreo ver these operations generalise those for the less algorithmically complex operations of propositional Horn clauses, leading to naturally stratified algorithms. The multiheaded clause representation is used to build a pos-based groundness analyser. The analyser performs surprisingly well and scales smoothly, not requiring widening to analyse any program in the benchmark suite.
KeywordsAbstract interpretation (constraint) logic programs Boolean functions groundness analysis
Unable to display preview. Download preview PDF.
- 3.P. Bigot, S. Debray, and K. Marriott. Understanding Finiteness Analysis using Abstract Interpretation. In Joint International Conference and Symposium on Logic Programming, pages 735–749. MIT Press, 1992.Google Scholar
- 4.F. Bueno, D. Cabeza, M. Hermenegildo, and G. Puebla. Global Analysis of Standard Prolog Programs. In European Symposium on Programming, volume 1058 of Lecture Notes in Computer Science, pages 108–124. Springer-Verlag, 1996.Google Scholar
- 10.C. Fecht. Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universität des Saarlandes, 1997.Google Scholar
- 13.S. Genaim and M. Codish. The Def-inite Approach to Dependency Analysis. In European Symposium on Programming, volume 2028 of Lecture Notes in Computer Science, pages 417–32. Springer-Verlag, 2001.Google Scholar
- 14.S. Genaim, J.M. Howe, and M. Codish. Worst-Case Groundness Analysis using Definite Boolean Functions. Theory and Practice of Logic Programming, 2001. Forthcoming.Google Scholar
- 20.A. King and L. Lu. A Backwards Analysis for Constraint Logic Programs. Technical Report 4-01, University of Kent, 2001.Google Scholar
- 23.P. Schachte. Precise and E.cient Static Analysis of Logic Programs. PhD thesis, Department of Computer Science, The University of Melbourne, Australia, 1999.Google Scholar