Debugging ASP using ILP

Declarative programming allows the expression of properties of the desired solution(s), while the computational task is delegated to a general-purpose algorithm. The freedom from explicit control is counter-balanced by the difficulty in working out what properties are missing or are incorrectly expressed, when the solutions do not meet expectations. This can be particularly problematic in the case of answer set semantics, because the absence of a key constraint/rule could make the difference between none or thousands of answer sets, rather than the intended one (or handful). The debugging task then comprises adding or deleting conditions on the right hand sides of existing rules or, more far-reaching, adding or deleting whole rules. The contribution of this paper is to show how inductive logic programming (ILP) along with examples of (un)desirable properties of answer sets can be used to revise the original program semi-automatically so that it satisfies the stated properties, in effect providing debugging-by-example for programs under answer set semantics.

[1]  Stephen Muggleton,et al.  Inverse entailment and progol , 1995, New Generation Computing.

[2]  Hans Tompits,et al.  On Testing Answer-Set Programs , 2010, ECAI.

[3]  Miroslaw Truszczynski,et al.  Towards Debugging of Answer-Set Programs in the Language PSpb , 2007, IC-AI.

[4]  Marina De Vos,et al.  An Interactive Approach to Answer Set Programming , 2005, Answer Set Programming.

[5]  Marina De Vos,et al.  Handling Change in Normative Specifications , 2012, DALT.

[6]  Marina De Vos,et al.  Normative design using inductive learning , 2011, Theory and Practice of Logic Programming.

[7]  Michael J. Pazzani,et al.  A Methodology for Evaluating Theory Revision Systems: Results with Audrey II , 1993, IJCAI.

[8]  Martin Gebser,et al.  Conflict-Driven Answer Set Solving , 2007, IJCAI.

[9]  Nicola Leone,et al.  Unit Testing in ASPIDE , 2011, INAP/WLP.

[10]  Nicola Leone,et al.  A Visual Tracer for DLV , 2009 .

[11]  Henry Lieberman,et al.  Visualizing Inference , 2015, AAAI.

[12]  Hans Tompits,et al.  Stepping through an Answer-Set Program , 2011, LPNMR.

[13]  Marcello Balduccini,et al.  Logic Programming And Nonmonotonic Reasoning , 1997, Lecture Notes in Computer Science.

[14]  Hans Tompits,et al.  SeaLion: An eclipse-based IDE for answer-set programming with advanced debugging support , 2013, Theory and Practice of Logic Programming.

[15]  Hans Tompits,et al.  Kara: A System for Visualising and Visual Editing of Interpretations for Answer-Set Programs , 2011, INAP/WLP.

[16]  Hans Tompits,et al.  Theory and Practice of Logic Programming Annotating Answer­set Programs in Lana Annotating Answer-set Programs in Lana , 2022 .

[17]  Stefan Woltran,et al.  spock: A Debugging Support Tool for Logic Programs under the Answer-Set Semantics , 2007, INAP/WLP.

[18]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

[19]  Henry Lieberman,et al.  Tinker: Example-Based Programming for Artificial Intelligence , 1981, IJCAI.

[20]  Hans Tompits,et al.  Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison , 2011, LPNMR.

[21]  Marina De Vos,et al.  ASPVIZ: Declarative Visualisation and Animation Using Answer Set Programming , 2008, ICLP.

[22]  Eugenia Ternovska,et al.  A logic of nonmonotone inductive definitions , 2008, TOCL.