In this paper, we investigate the decidability problem of logic program semantics and observables, focusing in particular on the least Herbrand model (or M-semantics), the C-semantics, and the S-semantics. We introduce bounded logic programs, and show that they coincide with programs such that every ground query has finitely many SLD-refutations via any selection rule. In particular, bounded programs strictly include the well-studied class of acceptable logic programs. We show that the mentioned declarative semantics are decidable when considering acceptable programs and programs bounded by recursive level mappings. Interestingly, the decision procedures have direct implementations in the logic programming paradigm itself as Prolog meta-programs. We relate semantics decidability to program testing. In our terminology, the testing problem consists of checking whether or not the formal semantics of a program includes a given finite set of atoms. With this definition, semantics decidability and the testing problem are equivalent. The decision procedures are then recognized to be automatic tools for testing logic programs. The meta-programming approach reveals to be successful in modeling extensions such as arithmetic built-in's, negation, modular programming and some other declarative semantics. Also, we present some preliminary experimental results and an efficient compilation-oriented approach that overcome the overhead due to meta-programming.
|Autori interni:||RUGGIERI, SALVATORE|
|Titolo:||Decidability of logic program semantics and applications to testing|
|Anno del prodotto:||2000|
|Digital Object Identifier (DOI):||10.1016/S0743-1066(99)00067-9|
|Appare nelle tipologie:||1.1 Articolo in rivista|