Skip to main content

Abstract Conjunctive Partial Deduction Using Regular Types and Its Application to Model Checking

  • Conference paper
  • First Online:
Logic Based Program Synthesis and Transformation (LOPSTR 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2372))

Abstract

We present an abstract partial deduction technique which uses regular types as its domain and which can handle conjunctions, and thus perform deforestation and tupling. We provide a detailed description of all the required operations and present an implementation within the ecce system. We discuss the power of this new specialisation algorithm, especially in the light of verifying and specialising infinite state process algebras. Here, our new algorithm can provide a more precise treatment of synchronisation and can be used for refinement checking.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. R. Apt. Introduction to logic programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, chapter 10, pages 495–574. North-Holland Amsterdam, 1990.

    Google Scholar 

  2. M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. The Journal of Logic Programming, 10:91–124, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  3. M. Bruynooghe, H. Vandecasteele, D. A. de Waal, and M. Denecker. Detecting unsolvable queries for definite logic programs. In C. Palamidessi, H. Glaser, and K. Meinke, editors, Proceedings of ALP/PLILP’98, LNCS 1490, pages 118–133. Springer-Verlag, 1998.

    Google Scholar 

  4. W. Charatonik and A. Podelski. Set-based analysis of reactive infinite-state systems. In B. Steffen, editor, Tools and Algorithms for the Construction and Analysis of Systems, LNCS 1384, pages 358–375. Springer-Verlag, March 1998.

    Chapter  Google Scholar 

  5. E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.

    Google Scholar 

  6. C. Consel and S. C. Khoo. Parameterized partial evaluation. ACM Transactions on Programming Languages and Systems, 15(3):463–493, 1993.

    Article  MathSciNet  Google Scholar 

  7. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. The Journal of Logic Programming, 13(2 & 3):103–179, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  8. B. Cui, Y. Dong, X. Du, N. Kumar, C. R. Ramakrishnan, I. V. Ramakrishnan, A. Roychoudhury, S. A. Smolka, and D. S. Warren. Logic programming and model checking. In C. Palamidessi, H. Glaser, and K. Meinke, editors, Proceedings of ALP/PLILP’98, LNCS 1490, pages 1–20. Springer-Verlag, 1998.

    Google Scholar 

  9. D. De Schreye, R. Glück, J. Jørgensen, M. Leuschel, B. Martens, and M. H. Sørensen. Conjunctive partial deduction: Foundations, control, algorithms and experiments. The Journal of Logic Programming, 41(2 & 3):231–277, November 1999.

    Google Scholar 

  10. D. A. de Waal and J. Gallagher. The applicability of logic program analysis and transformation to theorem proving. In A. Bundy, editor, Automated Deduction— CADE-12, pages 207–221. Springer-Verlag, 1994.

    Google Scholar 

  11. G. Delzanno and A. Podelski. Model checking in CLP. In R. Cleaveland, editor, Proceedings of TACAS’99, LNCS 1579, pages 223–239. Springer-Verlag, 1999.

    Google Scholar 

  12. A. Finkel and P. Schnoebelen. Well-structured transition systems everywhere ! Theoretical Computer Science, 256(1–-2):63–92, 2001.

    Article  MATH  MathSciNet  Google Scholar 

  13. F. Fioravanti, A. Pettorossi, and M. Proietti. Verifying ctl properties of infinite-state systems by specializing constraint logic programs. In Proceedings of VCL’2001, Florence, Italy, September 2001.

    Google Scholar 

  14. L. Fribourg. Constraint logic programming applied to model checking. In Proceedings of LOPSTR’99, LNCS 1817, pages 30–41. Springer-Verlag, 1999.

    Google Scholar 

  15. J. Gallagher. A system for specialising logic programs. Technical Report TR-91-32, University of Bristol, November 1991.

    Google Scholar 

  16. J. Gallagher. Tutorial on specialisation of logic programs. In Proceedings of PEPM’93, pages 88–98. ACM Press, 1993.

    Google Scholar 

  17. J. Gallagher. A bottom-up analysis toolkit. Technical Report CSTR-95-016, University of Bristol, July 1995.

    Google Scholar 

  18. J. Gallagher and D. A. de Waal. Fast and precise regular approximations of logic programs. In P. Van Hentenryck, editor, Proceedings of ICLP’94, pages 599–613. The MIT Press, 1994.

    Google Scholar 

  19. J. P. Gallagher and J. C. Peralta. Using regular approximations for generalisation during partial evaluation. In J. Lawall, editor, Proceedings of PEPM’00, pages 44–51. ACM Press, 2000.

    Google Scholar 

  20. J. P. Gallagher and J. C. Peralta. Regular tree languages as an abstract domain in program specialisation. Higher Order and Symbolic Computation, 14(2–-3):143–172, November 2001.

    Google Scholar 

  21. J. P. Gallagher and G. Puebla. Abstract interpretation over non-deterministic finite tree automata for set-based analysis of logic programs. In S. Krishnamurthi and C. R. Ramakrishnan, editors, Proceedings of PADL 2002, LNCS 2257, pages 243–261. Springer-Verlag, 2002.

    Google Scholar 

  22. M. Hermenegildo, R. Warren, and S. K. Debray. Global flow analysis as a practical compilation tool. The Journal of Logic Programming, 13(4):349–366, 1992.

    Article  Google Scholar 

  23. N. D. Jones. Combining abstract interpretation and partial evaluation. In P. Van Hentenryck, editor, Static Analysis, Proceedings of SAS’97, LNCS 1302, pages 396–405, Paris, 1997. Springer-Verlag.

    Chapter  Google Scholar 

  24. N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.

    Google Scholar 

  25. J. Jørgensen, M. Leuschel, and B. Martens. Conjunctive partial deduction in practice. In J. Gallagher, editor, Proceedings of LOPSTR’96, LNCS 1207, pages 59–82, Stockholm, Sweden, August 1996. Springer-Verlag.

    Google Scholar 

  26. J.-L. Lassez, M. Maher, and K. Marriott. Unification revisited. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 587–625. Morgan-Kaufmann, 1988.

    Google Scholar 

  27. M. Leuschel. The ecce partial deduction system and the dppd library of benchmarks. Obtainable via http://www.ecs.soton.ac.uk/~mal, 1996–2000.

  28. M. Leuschel. Program specialisation and abstract interpretation reconciled. In J. Jaffar, editor, Proceedings of JICSLP’98, pages 220–234, Manchester, UK, June 1998. MIT Press.

    Google Scholar 

  29. M. Leuschel. Logic program specialisation. In J. Hatcliff, T.Æ. Mogensen, and P. Thiemann, editors, Partial Evaluation: Practice and Theory, LNCS 1706, pages 155–188, Copenhagen, Denmark, 1999. Springer-Verlag.

    Google Scholar 

  30. M. Leuschel. Logic program specialisation and top-down abstract interpretation reconciled. Technical Report DSSE-TR-2000-3, Department of Electronics and Computer Science, University of Southampton, May 2000.

    Google Scholar 

  31. M. Leuschel, L. Adhianto, M. Butler, C. Ferreira, and L. Mikhailov. Animation and model checking of CSP and B using prolog technology. In Proceedings of VCL’2001, pages 97–109, Florence, Italy, September 2001.

    Google Scholar 

  32. M. Leuschel and M. Bruynooghe. Logic program specialisation through partial deduction: Control issues. Theory and Practice of Logic Programming, Special issue on program development, 2(4 & 5), July 2002. To appear.

    Google Scholar 

  33. M. Leuschel and D. DeSchreye. Logic program specialisation: How to be more specific. In H. Kuchen and S. Swierstra, editors, Proceedings of PLILP’96, LNCS 1140, pages 137–151, Aachen, Germany, September 1996. Springer-Verlag.

    Google Scholar 

  34. M. Leuschel and H. Lehmann. Coverability of reset Petri nets and other well-structured transition systems by partial deduction. In J. Lloyd, editor, Proceedings of CL’2000, LNAI 1861, pages 101–115, London, UK, 2000. Springer-Verlag.

    Google Scholar 

  35. M. Leuschel and H. Lehmann. Solving coverability problems of Petri nets by partial deduction. In M. Gabbrielli and F. Pfenning, editors, Proceedings of PPDP’2000, pages 268–279, Montreal, Canada, 2000. ACM Press.

    Google Scholar 

  36. M. Leuschel, B. Martens, and D. De Schreye. Controlling generalisation and polyvariance in partial deduction of normal logic programs. ACM Transactions on Programming Languages and Systems, 20(1):208–258, January 1998.

    Google Scholar 

  37. M. Leuschel and T. Massart. Infinite state model checking by abstract interpretation and program specialisation. In A. Bossi, editor, Logic-Based Program Synthesis and Transformation. Proceedings of LOPSTR’99, LNCS 1817, pages 63–82, Venice, Italy, September 1999.

    Google Scholar 

  38. M. Leuschel and T. Massart. Logic programming and partial deduction for the verification of reactive systems: An experimental evaluation. In G. Norman, M. Kwiatkowska, and D. Guelev, editors, Proceedings of AVoCS 2002, Second Workshop on Automated Verification of Critical Systems, pages 143–149, Brimingham, UK, 2002.

    Google Scholar 

  39. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.

    Google Scholar 

  40. J. W. Lloyd and J. C. Shepherdson. Partial evaluation in logic programming. The Journal of Logic Programming, 11(3& 4):217–242, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  41. K. Marriott, L. Naish, and J.-L. Lassez. Most specific logic programs. Annals of Mathematics and Artificial Intelligence, 1:303–338, 1990.

    Article  MATH  Google Scholar 

  42. P. Mildner. Type Domains for Abstract Interpretation: A Critical Study. PhD thesis, Dept. of Computing Sc. and Information Techn., PO-Box 331, S-75105 Uppsala, 1999.

    Google Scholar 

  43. U. Nilsson and J. Lübcke. Constraint logic programming for local and symbolic model checking. In J. Lloyd, editor, Proceedings of CL’2000, LNAI 1861, pages 384–398, London, UK, 2000. Springer-Verlag.

    Google Scholar 

  44. G. Puebla, J. Gallagher, and M. Hermenegildo. Towards integrating partial evaluation in a specialization framework based on generic abstract interpretation. In M. Leuschel, editor, Proceedings of the ILPS’97 Workshop on Specialisation of Declarative Programs and its Application, K.U. Leuven, Tech. Rep. CW 255, pages 29–38, Port Jefferson, USA, October 1997.

    Google Scholar 

  45. G. Puebla and M. Hermenegildo. Abstract Multiple Specialization and its Application to Program Parallelization. J. of Logic Programming. Special Issue on Synthesis, Transformation and Analysis of Logic Programs, 41(2&3):279–316, November 1999.

    Google Scholar 

  46. G. Puebla, M. Hermenegildo, and J. Gallagher. An Integration of Partial Evaluation in a Generic Abstract Interpretation Framework. In O. Danvy, editor, Proceedings of PEPM’99, number NS-99-1 in BRISC Series, pages 75–85. University of Aarhus, Denmark, January 1999.

    Google Scholar 

  47. Y. S. Ramakrishna, C. R. Ramakrishnan, I. V. Ramakrishnan, S. A. Smolka, T. Swift, and D. S. Warren. Efficient model checking using tabled resolution. In O. Grumberg, editor, Proceedings of CAV’97, LNCS 1254, pages 143–154. Springer-Verlag, 1997.

    Google Scholar 

  48. A. W. Roscoe. The Theory and Practice of Concurrency. Prentice-Hall, 1999.

    Google Scholar 

  49. E. Yardeni and E. Shapiro. A type system for logic programs. The Journal of Logic Programming, 10(2):125–154, 1990.

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Leuschel, M., Gruner, S. (2002). Abstract Conjunctive Partial Deduction Using Regular Types and Its Application to Model Checking. In: Pettorossi, A. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2001. Lecture Notes in Computer Science, vol 2372. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45607-4_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-45607-4_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43915-8

  • Online ISBN: 978-3-540-45607-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics