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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. The Journal of Logic Programming, 10:91–124, 1991.
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.
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.
E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.
C. Consel and S. C. Khoo. Parameterized partial evaluation. ACM Transactions on Programming Languages and Systems, 15(3):463–493, 1993.
P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. The Journal of Logic Programming, 13(2 & 3):103–179, 1992.
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.
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.
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.
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.
A. Finkel and P. Schnoebelen. Well-structured transition systems everywhere ! Theoretical Computer Science, 256(1–-2):63–92, 2001.
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.
L. Fribourg. Constraint logic programming applied to model checking. In Proceedings of LOPSTR’99, LNCS 1817, pages 30–41. Springer-Verlag, 1999.
J. Gallagher. A system for specialising logic programs. Technical Report TR-91-32, University of Bristol, November 1991.
J. Gallagher. Tutorial on specialisation of logic programs. In Proceedings of PEPM’93, pages 88–98. ACM Press, 1993.
J. Gallagher. A bottom-up analysis toolkit. Technical Report CSTR-95-016, University of Bristol, July 1995.
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.
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.
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.
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.
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.
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.
N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.
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.
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.
M. Leuschel. The ecce partial deduction system and the dppd library of benchmarks. Obtainable via http://www.ecs.soton.ac.uk/~mal, 1996–2000.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.
J. W. Lloyd and J. C. Shepherdson. Partial evaluation in logic programming. The Journal of Logic Programming, 11(3& 4):217–242, 1991.
K. Marriott, L. Naish, and J.-L. Lassez. Most specific logic programs. Annals of Mathematics and Artificial Intelligence, 1:303–338, 1990.
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.
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.
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.
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.
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.
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.
A. W. Roscoe. The Theory and Practice of Concurrency. Prentice-Hall, 1999.
E. Yardeni and E. Shapiro. A type system for logic programs. The Journal of Logic Programming, 10(2):125–154, 1990.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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