A New Technique for Verifying and Correcting Logic Programs

作者: Ricardo Caferra , Nicolas Peltier

DOI: 10.1023/A:1005878609884

关键词: Negation as failureInferenceCompleteness (logic)Logic programmingFormal specificationTheoretical computer scienceHorn clauseComputer scienceSoundnessProgramming languagePresburger arithmetic

摘要: A significant extension to a model-building method that we have been developing for several years is presented. quite complete, albeit reasonably short, description of the previous given in order make this article self-contained. The enables handling Presburger arithmetic and deducing inductive consequences from sets Horn clauses. For large class logic programs also permits deduction negative facts detection nontermination. It shown how extended can be used verifying correcting programs. proposed verifies w.r.t. formal specifications, but its fundamentals (i.e., model building) it useful pointing out errors suggesting way wrong informal such as specifications by examples or using implicit knowledge (the latter features are especially when dealing with beginners’ programs). Theoretical properties (e.g., soundness refutational completeness) proven. greater power extensions programming enabled our relative existing methods respect other standard (like negation failure) Several nontrivial illustrate error correction well broadening inference capabilities obtained rules method. These detailed show evidence interest approach. Main directions future research given.

参考文章(44)
John Slaney, Frank Bennett, Masayuki Fujita, Automatic generation of some results in finite algebra international joint conference on artificial intelligence. pp. 52- 57 ,(1993)
J. W. Lloyd, Foundations of logic programming; (2nd extended ed.) Springer-Verlag New York, Inc.. ,(1987)
Keith L. Clark, Sten-Åke Tärnlund, A First Order Theory of Data and Programs. ifip congress. pp. 939- 944 ,(1977)
Ewing Lusk, Larry Wos, Jim Boyle, Ross Overbeek, Automated reasoning (2nd ed.): introduction and applications McGraw-Hill, Inc.. ,(1992)
David A. Plaisted, An Efficient Bug Location Algorithm. international conference on lightning protection. pp. 151- 157 ,(1984)
Denis Lugiez, A Deduction Procedure for First Order Programs. international conference on lightning protection. pp. 585- 599 ,(1989)
Ehud Yehuda Shapiro, Algorithmic Program Debugging ,(1983)
Luís Moniz Pereira, Rational debugging in logic programming international conference on logic programming. pp. 203- 210 ,(1986) , 10.1007/3-540-16492-8_76
Alexander Leitsch, C. Fermuller, N. Zamov, T. Tammet, Resolution Methods for the Decision Problem ,(1993)