skip to main content
10.1145/1069774.1069786acmconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
Article

Inverting abstract unification for set-sharing

Published: 11 July 2005 Publication History

Abstract

This paper presents an inversion of the abstract unification operator for forward set-sharing analysis of logic programs. The inverted operator, called a backward abstract unification operator, computes all maximal pre-conditions for a given equation and its post-condition. It is a key operator in a backward analysis. The maximal preconditions are obtained by first calculating a superset of all preconditions and then generating all maximal pre-conditions from the superset. The latter step is transformed to the problem of finding all maximal models of a Boolean formula.

References

[1]
R. Bagnara, P. M. Hill, and E. Zaffanella. Sharing revisited. In M. Falaschi, M. Navarro, and A. Policriti, editors, APPIA-GULP-PRODE'97: Proceedings of the 1997 Joint Conference on Declarative Programming, pages 69--80, Grado, Italy, June 1997.
[2]
R. Bagnara, E. Zaffanella, and P. M. Hill. Enhanced sharing analysis techniques: A comprehensive evaluation. Theory and Practice of Logic Programming, 5(1&2):1--43, 2005.
[3]
Francisco Bueno, Pierre Deransart, Wlodzimierz Drabent, Gérard Ferrand, Manuel V. Hermenegildo, Jan Maluszynski, and German Puebla. On the role of semantic approximations on validation and diagnosis of contraint logic programs. In Mariam Kamkar, editor, AADEBUG: Proceeding of the 3rd Automated and Algorithmic Debugging, pages 155--169, 1997.
[4]
Michael Codish, Harald Søndergaard, and Peter J. Stuckey. Sharing and groundness dependencies in logic programs. ACM Transactions on Programming Languages and Systems, 21(5):948--976, 1999.
[5]
Agostino Cortesi and Gilberto Filé. Sharing is optimal. Journal of Logic Programming, 38(3):371--386, 1999.
[6]
P. Cousot and R. Cousot. Induction principles for proving invariance properties of programs. In D. Néel, editor, Tools and Notions for Program Construction: an Advanced Course, pages 75--119. Cambridge University Press, Cambridge, UK, 1982.
[7]
Robert W. Floyd. Assigning meaning to programs. In J. T. Schwartz, editor, Mathematical Aspects of Computer Science, volume 19 of Proceedings of Symposia in Applied Mathematics, pages 19--32. American Mathematical Society, 1967.
[8]
Samir Genaim and Michael Codish. Inferring termination conditions for logic programs using backwards analysis. Theory and Practice of Logic Programming, 5(1&2):75--91, 2005.
[9]
C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576--580, 1969.
[10]
Jacob M. Howe, Andy King, and Lunjin Lu. Analysing logic programs by reasoning backwards. In Maurice Bruynooghe and Kung-Kiu Lau, editors, Program Development in Computational Logic, volume 3049 of Lecture Notes in Computer Science, pages 152--188. Springer, 2004.
[11]
John Hughes and John Launchbury. Reversing abstract interpretations. Science of Computer Programming, 22(3):307--326, 1994.
[12]
Dean Jacobs and Anno Langen. Accurate and efficient approximation of variable aliasing in logic programs. In Ross A. Overbeek Ewing L. Lusk, editor, NACLP: Proceedings of the North American Conference on Logic Programming, pages 154--165. MIT Press, 1989.
[13]
Dean Jacobs and Anno Langen. Static analysis of logic programs for independent and-parallelism. Journal of Logic Programming, 13(2&3):291--314, 1992.
[14]
David S. Johnson and Christos H. Papadimitriou. On generating all maximal independent sets. Information Processing Letters, 27(3):119--123, 1988.
[15]
Dimitris J. Kavvadias, Martha Sideri, and Elias C. Stavropoulos. Generating all maximal models of a boolean expression. Information Processing Letters, 74(3-4):157--162, 2000.
[16]
Andy King. Pair-sharing over rational trees. Journal of Logic Programming, 46(1-2):139--155, 2000.
[17]
Andy King and Lunjin Lu. A backward analysis for constraint logic programs. Theory and Practice of Logic Programming, 2(4-5):517--547, 2002.
[18]
Andy King and Lunjin Lu. Forward versus backward verification of logic programs. In Catuscia Palamidessi, editor, Proceedings of 19th International Conference on Logic Programming, volume 2916 of Lecture Notes in Computer Science, pages 315--330. Springer, 2003.
[19]
Vitaly Lagoon and Peter J. Stuckey. Precise pair-sharing analysis of logic programs. In PPDP '02: Proceedings of the 4th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, pages 99--108. ACM Press, 2002.
[20]
Lunjin Lu and Andy King. Backward type inference generalises type checking. In Manuel V. Hermenegildo and German Puebla, editors, Proceedings of 9th Static Analysis Symposium, volume 2477 of Lecture Notes in Computer Science, pages 85--101. Springer, 2002.
[21]
Lunjin Lu and Andy King. Backward pair sharing analysis. In Yukiyoshi Kameyama and Peter J. Stuckey, editors, Proceedings of 7th Fuji International Symposium on Functional and Logic Programming, volume 2998 of Lecture Notes in Computer Science, pages 132--146. Springer, 2004.
[22]
Lunjin Lu and Andy King. Determinacy Inference for Logic Programs. In Mooly Sagiv, editor, Proceedings of the 14th European Symposium on Programming, volume 3444 of Lecture Notes in Computer Science, pages 108--123. Springer-Verlag, 2005.
[23]
Kalyan Muthukumar and Manuel V. Hermenegildo. Combined determination of sharing and freeness of program variables through abstract interpretation. In Koichi Furukawa, editor, Proceedings of the 8th International Conference on Logic Programming, pages 49--63, 1991.
[24]
Harald Søndergaard. An application of abstract interpretation of logic programs: Occur check reduction. In Bernard Robinet and Reinhard Wilhelm, editors, Proceedings of the 1st European Symposium on Programming, volume 213 of Lecture Notes in Computer Science, pages 327--338. Springer, 1986.
[25]
Shuji Tsukiyama, Mikio Ide, Hiromu Ariyoshi, and Isao Shirakawa. A new algorithm for generating all the maximal independent sets. SIAM Journal on Computing, 6(3):505--517, 1977.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPDP '05: Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
July 2005
260 pages
ISBN:1595930906
DOI:10.1145/1069774
  • General Chair:
  • Pedro Barahona,
  • Program Chair:
  • Amy Felty
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 July 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. backward analysis
  2. logic programs
  3. maximal models and Boolean formulas
  4. set-sharing

Qualifiers

  • Article

Conference

PPDP05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 58
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media