×

An integrated framework for the diagnosis and correction of rule-based programs. (English) Zbl 1205.68113

Summary: We present a generic scheme for the declarative debugging of programs that are written in rewriting-based languages that are equipped with narrowing. Our aim is to provide an integrated development environment in which it is possible to debug a program and then correct it automatically. Our methodology is based on the combination (in a single framework) of a semantics-based diagnoser that identifies those parts of the code that contain errors and an inductive learner that tries to repair them, once the bugs have been located in the program. We develop our methodology in several steps. First, we associate with our programs a semantics that is based on a (continuous) immediate consequence operator, \(T_{\mathcal R}\), which models the answers computed by narrowing and is parametric w.r.t. the evaluation strategy, which can be eager or lazy. Then, we show that, given the intended specification of a program \(\mathcal R\), it is possible to check the correctness of \(\mathcal R\) by a single step of \(T_{cal R}\).
In order to develop an effective debugging method, we approximate the computed answers semantics of \(\mathcal R\) and derive a finitely terminating bottom-up abstract diagnosis method, which can be used statically. Finally, a bug-correction program synthesis methodology attempts to correct the erroneous components of the wrong code. We propose a hybrid, top-down (unfolding-based) as well as bottom-up (induction-based), correction approach that is driven by a set of evidence examples which are automatically produced as an outcome by the diagnoser. The resulting program is proven to be correct and complete w.r.t. the considered example sets. Our debugging framework does not require the user to provide error symptoms in advance or to answer difficult questions concerning program correctness. An implementation of our debugging system has been undertaken which demonstrates the workability of our approach.

MSC:

68N17 Logic programming
PDFBibTeX XMLCite
Full Text: DOI

References:

[1] Ajiro, Y.; Ueda, K., Kima — an automated error correction system for concurrent logic programs, (Automated Software Engineering, vol. 19 (2002)), 67-94 · Zbl 1034.68569
[2] Ajiro, Y.; Ueda, K.; Cho, K., Error correcting source code, (Proc. Int’l Conf. on Principle and Practice of Constraint Programming. Proc. Int’l Conf. on Principle and Practice of Constraint Programming, LNCS, vol. 1520 (1998), Springer), 40-54
[3] Alexin, Z.; Gyimóthy, T.; Bostrom, H., Integrating algorithmic debugging and unfolding transformation in an interactive learner, (Proc. European Conf. on Artificial Intelligence. Proc. European Conf. on Artificial Intelligence, ECAI’96 (1996), John Wiley & Sons)
[4] Alpuente, M.; Ballis, D.; Correa, F. J.; Falaschi, M., Automated correction of functional logic programs, (Degano, P., Proc. European Symp. on Programming ESOP 2003. Proc. European Symp. on Programming ESOP 2003, Springer LNCS, vol. 2618 (2003)), 54-68 · Zbl 1032.68046
[5] Alpuente, M.; Ballis, D.; Falaschi, M., Transformation and debugging of functional logic programs, (Dovier, A.; Pontelli, E., 25 Years of Logic Programming in Italy. 25 Years of Logic Programming in Italy, Springer LNCS, vol. 6125 (2010)), 271-299 · Zbl 1285.68026
[6] Alpuente, M.; Comini, M.; Escobar, S.; Falaschi, M., A compact fixpoint semantics for term rewriting systems, Theoretical Computer Science, 411, 37, 3348-3371 (2010) · Zbl 1209.68285
[7] Alpuente, M.; Comini, M.; Escobar, S.; Falaschi, M.; Lucas, S., Abstract diagnosis of functional programs, (Leuschel, M.; Bueno, F., Proc. LOPSTR 2002. Proc. LOPSTR 2002, Springer LNCS, vol. 2664 (2003)), 1-16 · Zbl 1278.68056
[8] Alpuente, M.; Correa, F.; Falaschi, M., Declarative debugging of functional logic programs, (Gramlich, B.; Lucas, S., Proc. Int’l Workshop on Reduction Strategies in Rewriting and Programming. Proc. Int’l Workshop on Reduction Strategies in Rewriting and Programming, WRS 2001. Proc. Int’l Workshop on Reduction Strategies in Rewriting and Programming. Proc. Int’l Workshop on Reduction Strategies in Rewriting and Programming, WRS 2001, Elsevier ENTCS, vol. 57 (2001)) · Zbl 1268.68091
[9] Alpuente, M.; Correa, F.; Falaschi, M., A debugging scheme for functional logic programs, (Hanus, M., Proc. 10th Int’l Workshop on Functional and (Constraint) Logic Programming. Proc. 10th Int’l Workshop on Functional and (Constraint) Logic Programming, WFLP 2001. Proc. 10th Int’l Workshop on Functional and (Constraint) Logic Programming. Proc. 10th Int’l Workshop on Functional and (Constraint) Logic Programming, WFLP 2001, Elsevier ENTCS, vol. 64 (2002)) · Zbl 1268.68091
[10] M. Alpuente, F. Correa, M. Falaschi, S. Marson, The debugging system buggy. Technical report, DSIC-II/1/01, UPV, 2001. Available at URL: http://www.dsic.upv.es/users/elp/papers.html; M. Alpuente, F. Correa, M. Falaschi, S. Marson, The debugging system buggy. Technical report, DSIC-II/1/01, UPV, 2001. Available at URL: http://www.dsic.upv.es/users/elp/papers.html
[11] M. Alpuente, S. Escobar, J. Iborra, Termination of narrowing with dependency pairs, in: Maria Garcia de la Banda, Enrico Pontelli (Eds.), Proceedings of the 24th International Conference on Logic Programming, ICLP’08, in: Lecture Notes in Computer Science, vol. 5366, 2008, pp. 317-331.; M. Alpuente, S. Escobar, J. Iborra, Termination of narrowing with dependency pairs, in: Maria Garcia de la Banda, Enrico Pontelli (Eds.), Proceedings of the 24th International Conference on Logic Programming, ICLP’08, in: Lecture Notes in Computer Science, vol. 5366, 2008, pp. 317-331. · Zbl 1185.68218
[12] Alpuente, M.; Escobar, S.; Meseguer, J.; Ojeda, P., Order-sorted generalization, Electronic Notes in Theoretical Computer Science, 246, 27-38 (2009) · Zbl 1347.68193
[13] Alpuente, M.; Falaschi, M.; Julián, P.; Vidal, G., Uniform lazy narrowing, Journal of Logic and Computation, 13, 2, 287-312 (2003) · Zbl 1111.68375
[14] Alpuente, M.; Falaschi, M.; Manzo, F., Analyses of inconsistency for incremental equational logic programming, (Bruynooghe, M.; Wirsing, M., Proc. PLILP’92, Leuven (Belgium). Proc. PLILP’92, Leuven (Belgium), Springer LNCS, vol. 631 (1992)), 443-457
[15] Alpuente, M.; Falaschi, M.; Manzo, F., Analyses of unsatisfiability for equational logic programming, Journal of Logic Programming, 22, 3, 221-252 (1995) · Zbl 0830.68024
[16] Alpuente, M.; Falaschi, M.; Moreno, G.; Vidal, G., Rules + strategies for transforming lazy functional logic programs, Theoretical Computer Science, 311, 1-3, 479-525 (2004) · Zbl 1070.68018
[17] Alpuente, M.; Falaschi, M.; Ramis, M. J.; Vidal, G., A compositional semantics for conditional term rewriting systems, (Bal, H. E., Proc. 6th IEEE Int’l Conf. on Computer Languages. Proc. 6th IEEE Int’l Conf. on Computer Languages, ICCL’94 (1994), IEEE: IEEE New York), 171-182
[18] Alpuente, M.; Falaschi, M.; Vidal, G., A compositional semantic basis for the analysis of equational horn programs, Theoretical Computer Science, 165, 1, 97-131 (1996)
[19] Alpuente, M.; Falaschi, M.; Vidal, G., Partial evaluation of functional logic programs, ACM Transactions on Programming Languages and Systems, 20, 4, 768-844 (1998)
[20] Antoy, S., Definitional trees, (Proc. the 3rd Int’l Conf. on Algebraic and Logic Programming. Proc. the 3rd Int’l Conf. on Algebraic and Logic Programming, ALP’92. Proc. the 3rd Int’l Conf. on Algebraic and Logic Programming. Proc. the 3rd Int’l Conf. on Algebraic and Logic Programming, ALP’92, Springer LNCS, vol. 632 (1992)), 143-157
[21] Antoy, S., Evaluation strategies for functional logic programming, (Int’l Workshop on Reduction Strategies in Rewriting and Programming WRS’01. Int’l Workshop on Reduction Strategies in Rewriting and Programming WRS’01, Elsevier ENTCS, vol. 57 (2001)) · Zbl 1268.68092
[22] Antoy, S.; Echahed, R.; Hanus, M., A needed narrowing strategy, Journal of the ACM, 47, 4, 776-822 (2000) · Zbl 1327.68141
[23] Antoy, S.; Hanus, M., Functional logic programming, Communications of the ACM, 53, 4, 74-85 (2010)
[24] S. Antoy, S. Johnson, TeaBag: a functional logic debugger, in: H. Kuchen (Eds.), Proc. 13th Int’l Workshop on Functional and (Constraint) Logic Programming, WFLP 2004, 2004, pp. 4-18.; S. Antoy, S. Johnson, TeaBag: a functional logic debugger, in: H. Kuchen (Eds.), Proc. 13th Int’l Workshop on Functional and (Constraint) Logic Programming, WFLP 2004, 2004, pp. 4-18.
[25] P. Arenas, A. Gil, A debugging model for lazy functional languages, Technical Report DIA 94/6, Universidad Complutense de Madrid, April 1994.; P. Arenas, A. Gil, A debugging model for lazy functional languages, Technical Report DIA 94/6, Universidad Complutense de Madrid, April 1994.
[26] Arts, T.; Giesl, J., Termination of Term Rewriting using Dependency Pairs, Theoretical Computer Science, 236, 1-2, 133-178 (2000) · Zbl 0938.68051
[27] Baader, F.; Nipkow, T., Term Rewriting and All That (1998), Cambridge U. Press
[28] G. Bacci, M. Comini, Abstract diagnosis of first order functional logic programs, in: M. Alpuente (Eds.), Pre-Proc. LOPSTR 2010, RISC Technical Report 10-14, 2010, pp. 58-72.; G. Bacci, M. Comini, Abstract diagnosis of first order functional logic programs, in: M. Alpuente (Eds.), Pre-Proc. LOPSTR 2010, RISC Technical Report 10-14, 2010, pp. 58-72. · Zbl 1326.68052
[29] Bert, D.; Echahed, R., Design and implementation of a generic, logic and functional programming language, (Proc. ESOP’86. Proc. ESOP’86, Springer LNCS, vol. 213 (1986)), 119-132
[30] Bert, D.; Echahed, R., On the operational semantics of the algebraic and logic programming language LPG, (COMPASS/ADT. COMPASS/ADT, Lecture Notes in Computer Science, vol. 906 (1994), Springer), 132-152
[31] Bert, D.; Echahed, R., Abstraction of conditional term rewriting systems, (Proc. ILPS’95 (1995), MIT Press), 162-176
[32] Bert, D.; Echahed, R., On the operational semantics of the algebraic and logic programming language LPG, (Recent Trends in Data Type Specifications. Recent Trends in Data Type Specifications, Springer LNCS, vol. 906 (1995)), 132-152
[33] Bert, D.; Echahed, R.; Adi, K., Resolution of goals with the functional and logic programming language LPG: impact of abstract interpretation, (Proc. AMAST’96. Proc. AMAST’96, Springer LNCS, vol. 1101 (1996)), 629-632
[34] Bockmayr, A.; Werner, A., LSE narrowing for decreasing conditional term rewrite systems, (Conditional Term Rewriting Systems, CTRS’94, Jerusalem. Conditional Term Rewriting Systems, CTRS’94, Jerusalem, Springer LNCS, vol. 968 (1995))
[35] Borovanský, P.; Kirchner, C.; Kirchner, H.; Moreau, P.-E., ELAN from a rewriting logic point of view, Theoretical Computer Science, 285, 2, 155-185 (2002) · Zbl 1001.68057
[36] Borovanský, P.; Kirchner, C.; Kirchner, H.; Moreau, P.-E.; Ringeissen, C., An overview of Elan, Electronic Notes in Theoretical Computer Science, 15 (1998) · Zbl 0917.68022
[37] Bosco, P.; Giovannetti, E.; Moiso, C., Narrowing vs. SLD-resolution, Theoretical Computer Science, 59, 3-23 (1988) · Zbl 0648.68043
[38] Bossi, A.; Gabbrielli, M.; Levi, G.; Martelli, M., The s-semantics approach: theory and applications, Journal of Logic Programming, 19-20, 149-197 (1994) · Zbl 0942.68527
[39] H. Bostrom, P. Idestam-Alquist, Specialization of logic programs by pruning sld-trees, in: Proc of 4th Int’l Workshop on Inductive Logic Programming, ILP-94, 1994, pp. 31-47.; H. Bostrom, P. Idestam-Alquist, Specialization of logic programs by pruning sld-trees, in: Proc of 4th Int’l Workshop on Inductive Logic Programming, ILP-94, 1994, pp. 31-47.
[40] Bostrom, H.; Idestam-Alquist, P., Induction of logic programs by example-guided unfolding, Journal of Logic Programming, 40, 159-183 (1999) · Zbl 0941.68017
[41] Braßel, B.; Chitil, O.; Hanus, M.; Huch, F., Observing functional logic computations, (Proc. PADL’04. Proc. PADL’04, Springer LNCS, vol. 3057 (2004)), 193-208
[42] F. Bueno, P. Deransart, W. Drabent, G. Ferrand, M Hermenegildo, J. Maluszyński, G. Puebla, On the role of semantic approximations in validation and diagnosis of constraint logic programs, in: Proc. 3rd. Int’l Workshop on Automated Debugging, AADEBUG’97, U. of Linkoping, 1997, pp. 155-170.; F. Bueno, P. Deransart, W. Drabent, G. Ferrand, M Hermenegildo, J. Maluszyński, G. Puebla, On the role of semantic approximations in validation and diagnosis of constraint logic programs, in: Proc. 3rd. Int’l Workshop on Automated Debugging, AADEBUG’97, U. of Linkoping, 1997, pp. 155-170.
[43] Caballero, R.; Martí-Oliet, N.; Riesco, A.; Verdejo, A., A declarative debugger for Maude functional modules, (Proc. WRLA 2008. Proc. WRLA 2008, Elsevier ENTCS (2008)) · Zbl 1347.68073
[44] Caballero, R.; Rodríguez-Artalejo, M.; del Vado Vírseda, R., Declarative diagnosis of missing answers in constraint functional-logic programming, (Garrigue, Jacques; Hermenegildo, Manuel V., Functional and Logic Programming, 9th International Symposium, FLOPS 2008, Ise, Japan, April 14-16, 2008. Proceedings. Functional and Logic Programming, 9th International Symposium, FLOPS 2008, Ise, Japan, April 14-16, 2008. Proceedings, Lecture Notes in Computer Science, vol. 4989 (2008), Springer), 305-321 · Zbl 1137.68337
[45] Caballero-Roldán, R.; Rodríquez Artalejo, M., A declarative debugging system for lazy functional logic programs, (Proc. WFLP 2001. Proc. WFLP 2001, Elsevier ENTCS, vol. 57 (2001)) · Zbl 1268.68064
[46] Caballero-Roldán, R.; López-Fraguas, F. J.; Rodríquez Artalejo, M., Theoretical foundations for the declarative debugging of lazy functional logic programs, (Fifth Int’l Symp. on Functional and Logic Programming. Fifth Int’l Symp. on Functional and Logic Programming, Springer LNCS, vol. 2024 (2001)), 170-184 · Zbl 0977.68510
[47] Caballero-Roldán, R.; López-Fraguas, F. J.; Rodríquez Artalejo, M., Declarative Debugging for Encapsulated search, (Proc. 11th Int’l Workshop on Functional and (Constraint) Logic Programming. Proc. 11th Int’l Workshop on Functional and (Constraint) Logic Programming, WFLP 2002. Proc. 11th Int’l Workshop on Functional and (Constraint) Logic Programming. Proc. 11th Int’l Workshop on Functional and (Constraint) Logic Programming, WFLP 2002, Elsevier ENTCS, vol. 76 (2002))
[48] Cameron, M.; García de la Banda, M.; Marriott, K.; Moulder, P., Vimer: a visual debugger for mercury, (Proc. 5th ACM SIGPLAN Int’l Conf. on Principles and Practice of Declaritive Programming (2003), ACM Press), 56-66
[49] Claessen, K.; Hughes, J., QuickCheck: a lightweight tool for random testing of haskell programs, ACM SIGPLAN Notices, 35, 9, 268-279 (2000)
[50] Clavel, M.; Durán, F.; Eker, S.; Escobar, S.; Lincoln, P.; Martí-Oliet, N.; Meseguer, Jo.; Talcott, C. L., Unification and narrowing in Maude 2.4, (Treinen, Ralf, Rewriting Techniques and Applications, 20th International Conference, RTA 2009, Brasília, Brazil, June 29-July 1, 2009, Proceedings. Rewriting Techniques and Applications, 20th International Conference, RTA 2009, Brasília, Brazil, June 29-July 1, 2009, Proceedings, Lecture Notes in Computer Science, vol. 5595 (2009), Springer-Verlag), 380-390
[51] Clavel, M.; Durán, F.; Eker, S.; Lincoln, P.; Martí-Oliet, N.; Meseguer, J.; Talcott, C., All About Maude — A High-Performance Logical Framework (2007), Springer-Verlag: Springer-Verlag New York · Zbl 1115.68046
[52] Codish, M.; Falaschi, M.; Marriott, K., Suspension analysis for concurrent logic programs, (Furukawa, K., Proc. Eighth Int’l Conf. on Logic Programming (1991), The MIT Press: The MIT Press Cambridge, MA), 331-345
[53] Comini, M.; Gori, R.; Levi, G., Assertion based inductive verification methods for logic programs, (Seda, A. K., Proc. MFCSIT’2000. Proc. MFCSIT’2000, Elsevier ENTCS, vol. 40 (2001)) · Zbl 1264.68110
[54] Comini, M.; Levi, G.; Meo, M. C.; Vitiello, G., Abstract diagnosis, Journal of Logic Programming, 39, 1-3, 43-93 (1999) · Zbl 0947.68024
[55] Comini, M.; Levi, G.; Vitiello, G., Declarative diagnosis revisited, (Proc. 1995 Int’l Symp. on Logic Programming (1995), The MIT Press), 275-287
[56] P. Cousot, R. Cousot, Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, in: Proc. Fourth ACM Symp. on Principles of Programming Languages, 1977, pp. 238-252.; P. Cousot, R. Cousot, Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, in: Proc. Fourth ACM Symp. on Principles of Programming Languages, 1977, pp. 238-252.
[57] (DeGroot, D.; Lindstrom, G., Logic Programming, Functions, Relations and Equations (1986), Prentice Hall: Prentice Hall Englewood Cliffs, NJ) · Zbl 0588.68005
[58] Deransart, P.; Hermenegildo, M. V.; Maluszynski, J., Debugging of constraint programs: the DiSCiPl methodology and tools, (Analysis and Visualization Tools for Constraint Programming. Analysis and Visualization Tools for Constraint Programming, Lecture Notes in Computer Science, vol. 1870 (2000), Springer), 1-20
[59] Dershowitz, N.; Reddy, U., Deductive and inductive synthesis of equational programs, Journal of Symbolic Computation, 15, 467-494 (1993) · Zbl 0791.68106
[60] Echahed, R., On completeness of narrowing strategies, (Proc. CAAP’88. Proc. CAAP’88, Springer LNCS, vol. 299 (1988)), 89-101 · Zbl 0645.68044
[61] Echahed, R., Uniform narrowing strategies, (Proc. ICALP’92. Proc. ICALP’92, Springer LNCS, vol. 632 (1992)), 259-275
[62] S. Escobar, J. Meseguer, R. Sasse, Effectively checking or disproving the finite variant property, in: Proc. RTA’08. Springer LNCS, vol. 5117, 2008, pp. 79-93.; S. Escobar, J. Meseguer, R. Sasse, Effectively checking or disproving the finite variant property, in: Proc. RTA’08. Springer LNCS, vol. 5117, 2008, pp. 79-93. · Zbl 1145.68444
[63] Escobar, S.; Meseguer, J.; Sasse, R., Variant narrowing and equational unification, (Proc. 7th Int’l Workshop on Rewriting Logic and its Applications. Proc. 7th Int’l Workshop on Rewriting Logic and its Applications, WRLA08. Proc. 7th Int’l Workshop on Rewriting Logic and its Applications. Proc. 7th Int’l Workshop on Rewriting Logic and its Applications, WRLA08, Elsevier ENTCS (2008)) · Zbl 1347.68194
[64] Falaschi, M.; Levi, G.; Martelli, M.; Palamidessi, C., A new declarative semantics for logic languages, (Kowalski, R.; Bowen, K., Proc. Fifth Int’l Conf. on Logic Programming (1988), The MIT Press: The MIT Press Cambridge, MA), 993-1005
[65] Falaschi, M.; Levi, G.; Martelli, M.; Palamidessi, C., Declarative modeling of the operational behavior of logic languages, Theoretical Computer Science, 69, 3, 289-318 (1989) · Zbl 0699.68113
[66] Falaschi, M.; Levi, G.; Martelli, M.; Palamidessi, C., A model-theoretic reconstruction of the operational semantics of logic programs, Information and Computation, 103, 1, 86-113 (1993) · Zbl 0788.68088
[67] M. Fay, First order unification in an equational theory, in: Proc of 4th Int’l Conf. on Automated Deduction, CADE’79, 1979, pp. 161-167.; M. Fay, First order unification in an equational theory, in: Proc of 4th Int’l Conf. on Automated Deduction, CADE’79, 1979, pp. 161-167.
[68] Ferrand, G., Error diagnosis in logic programming, and adaptation of E.Y.Shapiro’s method, Journal of Logic Programming, 4, 3, 177-198 (1987) · Zbl 0623.68005
[69] C. Ferri, J. Hernández, M.J. Ramírez, The FLIP system homepage, 2000. Available at: http://www.dsic.upv.es/users/elp/soft.html; C. Ferri, J. Hernández, M.J. Ramírez, The FLIP system homepage, 2000. Available at: http://www.dsic.upv.es/users/elp/soft.html
[70] Ferri, C.; Hernández, J.; Ramírez, M. J., Incremental learning of functional logic programs, (5th Int’l Symp. on Functional and Logic Programming. 5th Int’l Symp. on Functional and Logic Programming, FLOPS’01. 5th Int’l Symp. on Functional and Logic Programming. 5th Int’l Symp. on Functional and Logic Programming, FLOPS’01, Springer LNCS, vol. 2024 (2001)), 233-247 · Zbl 0977.68680
[71] Fribourg, L., SLOG: a logic programming language interpreter based on clausal superposition and rewriting, (Proc. Second IEEE Int’l Symp. on Logic Programming (1985), IEEE: IEEE New York), 172-185
[72] Frutos-Escrig, D.; Fernández-Camacho, M. I., On narrowing strategies for partial non-strict functions, (Abramsky, S.; Maibaum, T., Proc. TAPSOFT’01. Proc. TAPSOFT’01, Springer LNCS, vol. 493 (1991)), 416-437
[73] Giesl, J.; Arts, T., Verification of erlang processes by dependency pairs, Applicable Algebra in Engineering, Communication and Computing, 12, 1/2, 39-72 (2001) · Zbl 0973.68101
[74] Gill, A., Debugging haskell by observing intermediate data structures, Proceedings 2000 ACM SIGPLAN Haskell Workshop. Proceedings 2000 ACM SIGPLAN Haskell Workshop, Electronic Notes in Theoretical Computer Science, 41, 1, 1 (2001)
[75] Giovannetti, E.; Levi, G.; Moiso, C.; Palamidessi, C., Kernel leaf: a logic plus functional language, Journal of Computer and System Sciences, 42, 363-377 (1991) · Zbl 0717.68013
[76] Gramlich, B., Sufficient conditions for modular termination of conditional term rewriting systems, (Conditional Term Rewriting Systems, Third International Workshop. Conditional Term Rewriting Systems, Third International Workshop, CTRS-92. Conditional Term Rewriting Systems, Third International Workshop. Conditional Term Rewriting Systems, Third International Workshop, CTRS-92, Lecture Notes in Computer Science, vol. 656 (1993), Springer), 128-142 · Zbl 1508.68157
[77] Hanus, M., Compiling logic programs with equality, (Proc. 2nd Int’l Workshop on Programming Language Implementation and Logic Programming. Proc. 2nd Int’l Workshop on Programming Language Implementation and Logic Programming, Springer LNCS, vol. 456 (1990)), 387-401
[78] Hanus, M., The integration of functions into logic programming: from theory to practice, Journal of Logic Programming, 19, 20, 583-628 (1994) · Zbl 0942.68526
[79] Hanus, M., Multi-paradigm declarative languages (invited tutorial), (Proc. of International Conference on Logic Programming. Proc. of International Conference on Logic Programming, ICLP 2007. Proc. of International Conference on Logic Programming. Proc. of International Conference on Logic Programming, ICLP 2007, Lecture Notes in Computer Science, vol. 4670 (2007), Springer), 45-75 · Zbl 1213.68162
[80] Hanus, M., Call pattern analysis for functional logic programs, (Antoy, Sergio; Albert, Elvira, Proceedings of the 10th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming. Proceedings of the 10th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, July 15-17, 2008, Valencia, Spain (2008), ACM), 67-78
[81] Hanus, M.; Josephs, B., A debugging model for functional logic programs, (Proc. PLILP’93. Proc. PLILP’93, Springer LNCS, vol. 714 (1993)), 28-43 · Zbl 0791.68019
[82] M. Hanus, J. Koj, An integrated development environment for declarative multi-paradigm programming, in: Proc. WLPE’01, Paphos, Cyprus, 2001, pp. 1-14.; M. Hanus, J. Koj, An integrated development environment for declarative multi-paradigm programming, in: Proc. WLPE’01, Paphos, Cyprus, 2001, pp. 1-14.
[83] M. Hanus, H. Kuchen, J.J. Moreno-Navarro, Curry: a truly functional logic language, in: Proc. ILPS’95 Workshop on Visions for the Future of Logic Programming, 1995, pp. 95-107.; M. Hanus, H. Kuchen, J.J. Moreno-Navarro, Curry: a truly functional logic language, in: Proc. ILPS’95 Workshop on Visions for the Future of Logic Programming, 1995, pp. 95-107.
[84] Hanus, M.; Prehofer, C., Higher-order narrowing with definitional trees, Journal of Functional Programming, 9, 1, 33-75 (1999) · Zbl 0926.68028
[85] Haskell debugging technologies. At http://www.haskell.org/debugging/; Haskell debugging technologies. At http://www.haskell.org/debugging/
[86] J. Hernández, M.J. Ramírez, Induction of functional logic programs, in: Proc. of the JICSLP’98 CompulogNet Area Meeting on Computational Logic and Machine Learning, 1998, pp. 49-55.; J. Hernández, M.J. Ramírez, Induction of functional logic programs, in: Proc. of the JICSLP’98 CompulogNet Area Meeting on Computational Logic and Machine Learning, 1998, pp. 49-55.
[87] Hernández, J.; Ramírez, M. J., A strong complete schema for inductive functional logic programming, (Proc. Ninth Int’l Workshop on Inductive Logic Programming. Proc. Ninth Int’l Workshop on Inductive Logic Programming, ILP’99. Proc. Ninth Int’l Workshop on Inductive Logic Programming. Proc. Ninth Int’l Workshop on Inductive Logic Programming, ILP’99, Springer LNAI, vol. 1634 (1999)), 116-127
[88] S. Hölldobler, From paramodulation to narrowing, in: Proc. 5th Int’l Conf. on Logic Programming, Seattle, 1988, pp. 327-342.; S. Hölldobler, From paramodulation to narrowing, in: Proc. 5th Int’l Conf. on Logic Programming, Seattle, 1988, pp. 327-342.
[89] Hölldobler, S., (Foundations of Equational Logic Programming. Foundations of Equational Logic Programming, Springer LNAI, vol. 353 (1989)) · Zbl 0688.68004
[90] Hullot, J. M., Canonical forms and unification, (Proc of 5th Int’l Conf. on Automated Deduction. Proc of 5th Int’l Conf. on Automated Deduction, Springer LNCS, vol. 87 (1980)), 318-334
[91] Kirchner, C.; Kirchner, H.; de Oliveira, A. Santana, Analysis of rewrite-based access control policies, (Proc. 3rd Int’l Workshop on Security and Rewriting Techniques. Proc. 3rd Int’l Workshop on Security and Rewriting Techniques, SecreT 2008. Proc. 3rd Int’l Workshop on Security and Rewriting Techniques. Proc. 3rd Int’l Workshop on Security and Rewriting Techniques, SecreT 2008, Elsevier ENTCS (2008))
[92] Klop, J. W., Term Rewriting Systems, (Abramsky, S.; Gabbay, D.; Maibaum, T., Handbook of Logic in Computer Science, vol. I (1992), Oxford University Press), 1-112
[93] Levi, G.; Palamidessi, C.; Bosco, P. G.; Giovannetti, E.; Moiso, C., A complete semantics caracterization of K-LEAF, a logic language with partial functions, (Proc. Second IEEE Symp. on Logic In Computer Science (1987), IEEE: IEEE New York), 318-327
[94] Lloyd, J. W., Debugging for a declarative programming language, Machine Intelligence, 15 (1998)
[95] Lloyd, J. W., Foundations of Logic Programming (1984), Springer-Verlag: Springer-Verlag Berlin · Zbl 0547.68005
[96] López-Fraguas, F. J.; Sánchez Hernández, J., Toy: a multiparadigm declarative system, (Proc. 10th Int’l Conf. on Rewriting Techniques and Applications (1999), Springer-Verlag), 244-247
[97] Maher, M. J., Complete axiomatizations of the algebras of finite, rational and infinite trees, (Proc. Third IEEE Symp. on Logic In Computer Science (1988), Computer Science Press: Computer Science Press New York), 348-357
[98] Maher, M. J., Equivalences of logic programs, (Minker, J., Foundations of Deductive Databases and Logic Programming (1988), Morgan Kaufmann: Morgan Kaufmann Los Altos, CA), 627-658 · Zbl 0594.68011
[99] M.J. Maher, On parameterized substitutions, Technical Report RC 16042, IBM - T.J. Watson Research Center, Yorktown Heights, NY, 1990.; M.J. Maher, On parameterized substitutions, Technical Report RC 16042, IBM - T.J. Watson Research Center, Yorktown Heights, NY, 1990.
[100] Marlow, S.; Iborra, J.; Pope, B.; Gill, A., A lightweight interactive debugger for haskell, (Keller, Gabriele, Proceedings of the ACM SIGPLAN Workshop on Haskell. Proceedings of the ACM SIGPLAN Workshop on Haskell, Haskell 2007, Freiburg, Germany, September 30, 2007 (2007), ACM), 13-24
[101] N. Martí-Oliet, A. Riesco, A. Verdejo, Declarative debugging of missing answers for Maude specifications, in: Proc. RTA 2010, in: Leibniz International Proceedings in Informatics, vol. 6, 2010, pp. 277-294.; N. Martí-Oliet, A. Riesco, A. Verdejo, Declarative debugging of missing answers for Maude specifications, in: Proc. RTA 2010, in: Leibniz International Proceedings in Informatics, vol. 6, 2010, pp. 277-294. · Zbl 1236.68146
[102] Meseguer, J., Multiparadigm logic programming, (Kirchner, H.; Levi, G., Algebraic and Logic Programming, Proc. the Third Int’l Conf. Algebraic and Logic Programming, Proc. the Third Int’l Conf, ALP’92, Berlin. Algebraic and Logic Programming, Proc. the Third Int’l Conf. Algebraic and Logic Programming, Proc. the Third Int’l Conf, ALP’92, Berlin, Springer LNCS, vol. 632 (1992)), 158-200
[103] Meseguer, J.; Thati, P., Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols, Higher-Order and Symbolic Computation, 20, 1-2, 123-160 (2007) · Zbl 1115.68079
[104] Middeldorp, A.; Hamoen, E., Counterexamples to completeness results for basic narrowing, (Kirchner, H.; Levi, G., Proc. Third Int’l Conf. on Algebraic and Logic Programming. Proc. Third Int’l Conf. on Algebraic and Logic Programming, Springer LNCS, vol. 632 (1992)), 244-258
[105] Moreno-Navarro, J. J.; Rodríguez-Artalejo, M., Logic programming with functions and predicates: the language Babel, Journal of Logic Programming, 12, 3, 191-224 (1992) · Zbl 0754.68031
[106] Muggleton, S., Inductive logic programming, New Generation Computing, 8, 3, 295-318 (1991) · Zbl 0712.68022
[107] Muggleton, S.; de Raedt, L., Inductive logic programming: theory and methods, Journal of Logic Programming, 19, 20, 629-679 (1994) · Zbl 0816.68043
[108] Naish, L., A declarative debugging scheme, Journal of Functional and Logic Programming, 1997, 3 (1997) · Zbl 0924.68125
[109] Naish, L.; Barbour, T., Towards a portable lazy functional declarative debugger, Australian Computer Science Communications, 18, 1, 401-408 (1996)
[110] Padawitz, P., (Computing in Horn Clause Theories. Computing in Horn Clause Theories, EATCS Monographs on Theoretical Computer Science, vol. 16 (1988), Springer-Verlag: Springer-Verlag Berlin) · Zbl 0646.68004
[111] Pettorossi, A.; Proietti, M., Transformation of logic programs: foundations and techniques, Journal of Logic Programming, 19, 20, 261-320 (1994) · Zbl 0942.68528
[112] Pettorossi, A.; Proietti, M., Transformation of logic programs, (Handbook of Logic in Artificial Intelligence, vol. 5 (1998), Oxford University Press), 697-787 · Zbl 0900.68141
[113] Reddy, U. S., Narrowing as the operational semantics of functional languages, (Proc. Second IEEE Int’l Symp. on Logic Programming (1985), IEEE: IEEE New York), 138-151
[114] Reddy, U. S., Bridging the gap between logic and functional programming, (Proc. ILPS’95 (1995), MIT Press), 627-628
[115] Reps, T. W.; Turnidge, T., Program specialization via program slicing, (Danvy, O.; Glück, R.; Thiemann, P., Partial Evaluation, International Seminar. Partial Evaluation, International Seminar, Dagstuhl Castle, Germany, February 12-16, 1996, Selected Papers. Partial Evaluation, International Seminar. Partial Evaluation, International Seminar, Dagstuhl Castle, Germany, February 12-16, 1996, Selected Papers, Lecture Notes in Computer Science, vol. 1110 (1996), Springer), 409-429
[116] F. Schernhammer, B. Gramlich, Characterizing and proving operational termination of deterministic conditional term rewriting systems, Journal of Logic and Algebraic Programming, 2010 (in press).; F. Schernhammer, B. Gramlich, Characterizing and proving operational termination of deterministic conditional term rewriting systems, Journal of Logic and Algebraic Programming, 2010 (in press). · Zbl 1206.68163
[117] Shaphiro, E. Y., Algorithmic Program Debugging (1982), The MIT Press: The MIT Press Cambridge, Massachusetts, ACM Distinguished Dissertation
[118] Slagle, J. R., Automated theorem-proving for theories with simplifiers, commutativity and associativity, Journal of the ACM, 21, 4, 622-642 (1974) · Zbl 0296.68092
[119] Tamaki, H., Semantics of a logic programming language with a reducibility predicate, (Proc. First IEEE Int’l Symp. on Logic Programming (1984), IEEE Press), 259-264
[120] Ueda, K.; Morita, M., Moded flat GHC and its message-oriented implementation technique, New Generation Computing, 13, 1, 3-43 (1994)
[121] Wadler, P., An angry half-dozen, SIGPLAN Notices, 33, 2, 25-30 (1998)
[122] Zartmann, F., Denotational abstract interpretation of functional logic programs, (Proc. SAS’97. Proc. SAS’97, Springer LNCS, vol. 1302 (1997)), 141-159
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.