<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Debugging of Answer Set Programs Using Paracoherent Reasoning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Bernardo Cuteri</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carmine Dodaro</string-name>
          <email>dodaro@dibris.unige.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Ricca</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Calabria</institution>
          ,
          <country country="IT">Italy -</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Genoa</institution>
          ,
          <country country="IT">Italy -</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Answer Set Programming is a well-known declarative programming paradigm proposed in the area of logic programming and non-monotonic reasoning. Although ASP features a simple syntax and an intuitive semantics, errors are common during the development of ASP programs. In this paper we propose a novel debugging approach based on paracoherent reasoning, which allows a user to identify bugs when they are related to wrong constraints. The approach has been implemented in a tool called paradebug, that is made freely available.</p>
      </abstract>
      <kwd-group>
        <kwd>Answer Set Programming coherent Reasoning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Answer Set Programming (ASP) [
        <xref ref-type="bibr" rid="ref21 ref42">21, 42</xref>
        ] is a well-established declarative
programming paradigm based on the stable model semantics. The simple syntax [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]
and the intuitive semantics [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ], combined with the availability of robust
implementations [4, 11, 12, 24, 36{40, 43, 44, 46, 48, 49], make ASP an ideal candidate
for addressing hard combinatorial problems. As matter of fact, ASP has been
successfully used in several research areas, including Arti cial Intelligence [
        <xref ref-type="bibr" rid="ref10 ref14 ref18 ref3 ref34">3,
10, 14, 18, 34</xref>
        ], Hydroinformatics [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ], Nurse Scheduling [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], Bio-informatics [
        <xref ref-type="bibr" rid="ref31 ref45">31,
45</xref>
        ], Game Theory [
        <xref ref-type="bibr" rid="ref17 ref9">9, 17</xref>
        ], and Databases [
        <xref ref-type="bibr" rid="ref47 ref50">47, 50</xref>
        ]; more recently ASP has been
applied to solve industrial applications [
        <xref ref-type="bibr" rid="ref1 ref27 ref30">1, 27, 30</xref>
        ].
      </p>
      <p>
        Albeit the basic syntax and the semantics of ASP are in general clear also
for novice programmers, during the development of ASP encodings, the
identication of (trivial) errors can be time consuming. For this reason, during the
recent years, several techniques and tools, called debuggers, emerged to help the
programmer to deal with faults in ASP programs [
        <xref ref-type="bibr" rid="ref19 ref28 ref29 ref41 ref51">19, 28, 29, 41, 51</xref>
        ], thus making
the development process faster and more comfortable.
      </p>
      <p>
        In this paper we provide a practical contribution in the aforementioned
context by considering an important question related to debug, i.e. why an
interpretation is not an answer set of a program under consideration. In particular,
we report on a preliminary debugging technique based on paracoherent
reasoning [
        <xref ref-type="bibr" rid="ref15 ref16 ref8">8, 15, 16</xref>
        ], which allows a user to debug ASP programs when the fault is
localized into the constraints of the program. Roughly, the suggested approach
can be described as follows: First, given a non-ground program P, the debugger
generates a ground program . Next, the constraints of are processed and
normalized, i.e. they are converted into normal rules. Rules created in the
normalization step are then rewritten using the paracoherent techniques presented
in [11{13] and a paracoherent answer set is computed, which is subsequently
used to identify the faulty constraints. This approach has been implemented in
a python tool paradebug, that is based on the well-known ASP system dlv2 [
        <xref ref-type="bibr" rid="ref2 ref5">5,
2</xref>
        ]. The resulting implementation can be used via command-line interface.
2
2.1
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>Answer set programming
Syntax. An ASP program P is a nite set of rules of the form
h1 _ : : : _ hn
`1; : : : ; `m
where n; m 0, n + m 6= 0, h1; : : : ; hn are atoms and represent the head of the
rule, while `1; : : : ; `m are literals and represent the body of the rule. In particular,
an atom is an expression of the form p(t1; : : : ; tk), where p is a predicate of ariety
k and t1; : : : ; tk are terms. Terms are alphanumeric strings, and are distinguished
in variables and constants. According to the Prolog's convention, only variables
start with an uppercase letter. A literal is an atom a or its negation not a, where
not denotes the negation as failure. For an atom p, p = not p, for a negated atom
not p, not p = p. A rule is called a constraint if n = 0, and a fact if n = 1 and
m = 0. An object (atom, rule, etc.) is called ground or propositional, if it contains
no variables. Given a program P, let the Herbrand Universe UP be the set of all
constants appearing in P and the Herbrand Base BP be the set of all possible
ground atoms which can be constructed from the predicate symbols appearing
in P with the constants of UP . Given a rule r, Ground (r) denotes the set of
rules obtained by applying all possible substitutions from the variables in r
to elements of UP . Similarly, given a program P, its ground instantiation is the
set Sr2P Ground (r). Given a ground program , let Rules( ), Constr ( ), and
At ( ) denote the set of ground rules, ground constraints and ground atoms
occurring in .</p>
      <p>Semantics. Given a program P, its stable models are de ned using its ground
instantiation . Any set I At( ) is an interpretation for a program . A
ground atom p is true w.r.t. I if p 2 I; p is false w.r.t. I if p 62 I. A ground literal
not p is true w.r.t. I if p 62 I; not p is false w.r.t. I if p 2 I. An interpretation I
is a model for if, for every r 2 , at least one atom in the head of r is true
w.r.t. I whenever all literals in the body of r are true w.r.t. I. The reduct of a
ground program w.r.t. a model I is the program I , obtained from by (i)
deleting all rules r 2 whose negative body is false w.r.t. I and (ii) deleting
the negative body from the remaining rules. An interpretation I is an answer
set (stable model ) of a program if I is a model of , and there is no J I
such that J is a model of I . Let AS ( ) denote the set of all answer sets of .
A program is coherent if AS ( ) 6= ;, incoherent otherwise.</p>
      <p>Example 1. Consider the following program P:
node(X) edge(X; Y )
node(X) edge(Y; X)
col(X; blue) _ col(X; red) _ col(X; green) node(X)</p>
      <p>col(X; C1); col(Y; C2); edge(X; Y ); C1 6= C2
and the set of facts F :
the ground instantiation of P [ F is the program
the following set of rules Rules( ):
comprising
and A = fedge(1; 2); edge(2; 3); node(1); node(2); node(3)g.
where n 1; m k 0, and a1; : : : ; an; b1; : : : ; bm are ground atoms. Note that
does not include constraints (since n 1).</p>
      <p>Externally supported program. The externally supported program is a ground
program s obtained as follows. For each rule r 2 of the form (1), s
contains the rule:
and for each atom p 2 At ( ), s contains the rules Kp _nKp and gap(Kp)
Kp; not p, where Kp, nKp and gap(Kp) are atoms not appearing in .
Intuitively, an atom Kp can be read as p is believed to hold.</p>
      <p>Externally extended supported program. The externally extended supported
program of is the program es formed by s and by rule:</p>
      <p>Ka1 _
_ Kan _ Kbk+1 _
_ Kbm</p>
      <p>Kb1 ;
not a1;
; not an; not bk+1;</p>
      <p>; Kbk ;</p>
      <p>Paracoherent answer sets. For a set of atoms S, let GS denote fgap(p) j gap(p) 2
Sg. For a program , I 2 AS ( es ) is an externally supported model (resp.
externally extended supported model ) of if there is no M 2 AS ( s ) (resp.
M 2 AS ( es )) such that GM GI . In the following, we refer to externally
supported models and externally extended supported models as paracoherent
answer sets.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Debugging approach</title>
      <p>In this section, we present our approach to the localization of faults in ground
ASP programs. In general, one can di erentiate between syntactic and semantic
faults. In the rst case, syntactic errors are automatically detected by parser of
ASP systems, whereas semantic faults can be detected by a user by analyzing
the output of the ASP system.</p>
      <p>In the latter case, users usually verify the correctness of programs by checking
(simple) test instances, as it is common for software development. In particular,
the debugging process is carried out by comparing a number of answer sets
computed by an ASP system with solutions determined by hand. Therefore, in
order to detect a bug, a user must know at least one answer set of the program
for the analyzed instance.</p>
      <p>De nition 1 (Buggy program). Let c be a ground intended (correct)
program that a user is going to formulate and AS( c) be a set of its known answer
sets. Then, a ground program is said to be buggy with respect to a program
c if there exists an answer set A 2 AS( c) such that A 62 AS( ).
Note that by this de nition our approach deals only with situations in which
some answer set of the correct program is missing. The opposite problem { there
is an answer set A 2 AS( ) such that A 62 AS( c) { is not the focus of this
paper.</p>
      <p>Example 2 (Buggy program). Consider the program P of Example 1,
representing a (buggy) encoding for the graph coloring problem. During the development
of the encoding the user might create a simple graph, e.g. considering the sample
instance of the two facts in F . For this instance the user expects the assignment
of the blue color to the nodes 1 and 3 as well as of the red color to the node 2
to be among the solutions. However, the corresponding answer set encoding this
solution is missing due to a bug in the encoding. In particular, note that the
condition C1 6= C2 should be replaced by C1 = C2. C</p>
      <p>The situation in which some solution is missing can be detected by means of
testing, which is a common approach in software engineering aiming at identi
cation and localization of faults in programs.</p>
      <p>De nition 2 (Test case). Let c be a ground intended program, and be a
ground program. A set of atoms T At ( ) is a test case for i there exists
an answer set A 2 AS( c) such that T A.</p>
      <p>De nition 3 (Test case failure). Given a ground program and a test case
T , let T = f l j l 2 T g, we say that T fails if [ T is incoherent.</p>
      <p>Assertions of a test case are modeled by constraints that force the asserted
atoms to be in all answer sets. As a result, checking whether a test case T of a
program passes or not is reduced to checking whether [ T is coherent, as
illustrated in Example 3.</p>
      <p>Example 3 (Failing Test Case). Consider the program
the test case
from Example 1 and</p>
      <p>T = fcol(1; blue); col(2; red); col(3; blue)g:</p>
      <sec id="sec-3-1">
        <title>The program</title>
      </sec>
      <sec id="sec-3-2">
        <title>T is composed by the constraints:</title>
        <p>not col(1; blue)
not col(2; red)
not col(3; blue):</p>
      </sec>
      <sec id="sec-3-3">
        <title>Thus, T is failing since</title>
        <p>[</p>
      </sec>
      <sec id="sec-3-4">
        <title>T is incoherent.</title>
        <p>Whenever a test case fails, i.e. the given program is buggy, the goal of a
debugger is to nd an explanation for this observation.</p>
        <p>In the following, we assume that given a ground program and a test case
T , the set Rules( ) [ T is coherent and correct, and the buggy rule is located
in Constr ( ). Indeed, the goal of our debugger is to nd a set of constraints
that are causing the incoherence.</p>
        <p>De nition 4 (Diagnosis). Given a ground program and a failing test case
T , a diagnosis D of the fault is a minimal set of constraints C Constr ( )
such that ( [ T ) n C is coherent.</p>
        <p>Example 4 (Diagnosis). Consider again the program from Example 1 and the
program T of Example 3. A diagnosis of the fault D is the set of constraints
f col(2; red); col(1; blue); col(3; blue); col(2; red)g. Indeed, ( [ T ) n D is
coherent and no subset of D is a diagnosis. C
C</p>
        <p>In our approach, fault identi cation is done by taking advantages of
paracoherent semantics to nd buggy constraints. The key idea is as follows. Given
a ground program and the set of constraints Constr ( ), each constraint
c 2 Constr ( ) of the form l1; : : : ; lm is normalized, i.e. it is rewritten as the
following rule:
auxc</p>
        <p>not auxc; l1; : : : ; lm
where auxc is a fresh symbol not appearing elsewhere in the program.
De nition 5 (Normalization). Given a ground program = Rule( ) [
Constr ( ), then the normalized program of , denoted Norm( ), is composed
by fauxc not auxc; `1; : : : ; `m j `1; : : : ; `m 2 Constr ( )g.</p>
      </sec>
      <sec id="sec-3-5">
        <title>The following example should clarify this aspect.</title>
        <p>Example 5 (Normalization). Let be the ground program of Example 1. Then,
Norm( ) comprises the following set of rules:
aux c1
aux c2
aux c3
aux c4
aux c5
aux c6
aux c7
aux c8
aux c9
aux c10
aux c11
aux c12
not aux c1 ; col(2; red); col(1; green)
not aux c2 ; col(2; red); col(1; blue)
not aux c3 ; col(2; green); col(1; red)
not aux c4 ; col(2; green); col(1; blue)
not aux c5 ; col(2; blue); col(1; red)
not aux c6 ; col(2; blue); col(1; green)
not aux c7 ; col(3; red); col(2; green)
not aux c8 ; col(3; red); col(2; blue)
not aux c9 ; col(3; green); col(2; red)
not aux c10 ; col(3; green); col(2; blue)
not aux c11 ; col(3; blue); col(2; red)
not aux c12 ; col(3; blue); col(2; green)
Note that the number of symbols added in Norm( ) is bounded by the number
of constraints in . C</p>
        <p>Then, paracoherent rewriting techniques described in Section 2.2 are applied
to the rules introduced in the normalization step.</p>
        <p>De nition 6 (Debugging program). Let = Rules( ) [ Constr ( ) be a
ground program and a test case T . The debugging program D is the program
T [ Rules( ) [ Norm( ) , where 2 fs; esg.</p>
        <p>
          Given a debugging program D, its paracoherent answer sets can be used
to build a diagnosis of the fault. Indeed, atoms of the form auxc are included in
a paracoherent answer set, say A, if and only if the corresponding constraint c
cannot be satis ed by any answer set. Therefore, all the constraints associated
to atoms of the form auxc that are true w.r.t. A are part of the diagnosis. Note
that, as shown in [
          <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
          ], if the paracoherent reasoning is limited to constraints
the two rewriting techniques described in Section 2.2 coincide.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Tool description and usage example</title>
      <p>In this section, we describe a practical implementation of the debugging
technique for the computation of a diagnosis described in Section 3. The resulting
tool, namely paradebug, is freely available here: https://www.mat.unical.
it/~dodaro/paradebug. Moreover, we also present a usage example of
paradebug to debug a program.</p>
      <p>
        paradebug is implemented in Python and it takes advantage of the ASP
system dlv2 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which uses i-dlv [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and wasp [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] as grounder and solver,
respectively. As far as we know, dlv2 is the only ASP system that is able to
compute paracoherent answer sets.
      </p>
      <p>paradebug takes as input a ground program and a test case T . Then,
is normalized and the debugging program D is built starting from and
T . Subsequently, D is provided as input to the internal solver wasp, which
returns as output a paracoherent answer set of D, say M . M is then processed
by paradebug and the set of constraints representing the diagnosis are returned.
Usage example. Consider the following buggy ASP program representing an
encoding of the Graph Coloring problem:
node(X) :- edge(X,_).
node(X) :- edge(_,X).
col(X,blue) | col(X,red) | col(X,green) :- node(X).
:- col(X1,C1), col(X2,C2), edge(X1,X2), C1 != C2.
edge(1,2).</p>
      <p>edge(2,3).</p>
      <p>Note that it represents the program P of Example 1. In this case, the buggy rule
is</p>
      <p>:- col(X1,C1), col(X2,C2), edge(X1,X2), C1 != C2.
since the condition C1 != C2 should be C1 = C2.</p>
      <p>Test cases can be speci ed according to the directives assertTrue, that
speci es atoms that must be in an answer set, and assertFalse, that speci es atoms
that must not be in an answer set. In particular, a test case can be the following:
assertTrue: col(1,blue).
assertTrue: col(2,red).</p>
      <p>assertTrue: col(3,blue).
which basically represent a scenario where the atoms col(1,blue), col(2,red),
and col(3,blue) are all true. However, this answer set cannot be obtained due
to the buggy rule. paradebug can thus be used to nd what is the buggy rule
by using the following command:</p>
      <p>dlv2 --mode=idlv test.asp | ./paradebug.py testcase
The output of paradebug is the set of buggy constraints as follows:
Set of constraints causing the incoherence:
:- col(1,blue), col(2,red).</p>
      <p>:- col(2,red), col(3,blue).
which indeed represents a correct diagnosis as shown in Example 4.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Related work</title>
      <p>
        There are multiple approaches to ASP debugging suggested in the literature
including algorithmic [
        <xref ref-type="bibr" rid="ref19 ref54">19, 54</xref>
        ] and meta-programming [20, 41, 51{53] methods,
see [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ] for a comprehensive survey on the topic. The algorithmic approaches
include ideas [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], a state-of-the-art tool, that aims at identifying why a set of
atoms is an answer set or why a set of atoms is not in any answer set.
Moreover, ideas implements a query-based interaction with users in order to nd an
explanation of an observed fault.
      </p>
      <p>
        Concerning meta-programming debuggers, they are usually based on a
general ASP encoding modeling all possible reasons of why some interpretation
of the faulty program is not an answer set. Among the tool based on
metaprogramming, two tools emerged, namely spock [
        <xref ref-type="bibr" rid="ref41">41</xref>
        ] and Ouroboros [
        <xref ref-type="bibr" rid="ref51 ref52">51, 52</xref>
        ].
The rst can be applied only to ground programs, whereas Ouroboros can
tackle non-grounded programs as well.
      </p>
      <p>Our approach is also related to the one implemented in the debugging tool
dwasp, that is also built on top of the ASP solver wasp. The approach of
dwasp relies on iterative calls to the wasp and on the computation of the
socalled unsatis able cores. Our approach is instead based on only one call to the
underlying ASP system. Moreover, dwasp features a query-based approach to
help the user to identify the buggy rules. Such a feature is not yet implemented
in paradebug, but it can be integrated as well.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and future work</title>
      <p>
        In this paper we presented a debugging approach for ASP programs based on
paracoherent reasoning. This technique has been implemented in a tool called
paradebug, based on the ASP system dlv2. As future work, we plan to extend
the technique presented in this paper to normal and disjunctive rules that are
not supported at the moment. Moreover, we plan to implement the query-based
approach presented in [
        <xref ref-type="bibr" rid="ref28 ref29">28, 29</xref>
        ] and to integrate the resulting tool into the IDE
aspide [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]. Furthermore, we also plan to investigate whether the techniques
presented in this paper can be extended to other paracoherent semantics, e.g.
[
        <xref ref-type="bibr" rid="ref25 ref26">25, 26</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Abseher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musliu</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woltran</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Shift design with answer set programming</article-title>
          .
          <source>Fundam. Inform</source>
          .
          <volume>147</volume>
          (
          <issue>1</issue>
          ),
          <volume>1</volume>
          {
          <fpage>25</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Adrian</surname>
          </string-name>
          , W.T.,
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calimeri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuteri</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fusca</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manna</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veltri</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zangari</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The ASP system DLV: advancements and applications</article-title>
          .
          <source>KI</source>
          <volume>32</volume>
          (
          <issue>2-3</issue>
          ),
          <volume>177</volume>
          {
          <fpage>179</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Adrian</surname>
          </string-name>
          , W.T.,
          <string-name>
            <surname>Manna</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adrian</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Entity set expansion from the web via ASP</article-title>
          .
          <source>In: ICLP-TC. OASICS</source>
          , vol.
          <volume>58</volume>
          , pp.
          <volume>1</volume>
          :
          <issue>1</issue>
          {
          <issue>1</issue>
          :
          <issue>5</issue>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Evaluation of disjunctive programs in WASP</article-title>
          .
          <source>In: LPNMR. LNCS</source>
          , vol.
          <volume>11481</volume>
          , pp.
          <volume>241</volume>
          {
          <fpage>255</fpage>
          . Springer (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calimeri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fusca</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veltri</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zangari</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The ASP system DLV2</article-title>
          .
          <source>In: LPNMR. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10377</volume>
          , pp.
          <volume>215</volume>
          {
          <fpage>221</fpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Advances in WASP</article-title>
          .
          <source>In: LPNMR. Lecture Notes in Computer Science</source>
          , vol.
          <volume>9345</volume>
          , pp.
          <volume>40</volume>
          {
          <fpage>54</fpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An advanced answer set programming encoding for nurse scheduling</article-title>
          .
          <source>In: AI*IA. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10640</volume>
          , pp.
          <volume>468</volume>
          {
          <fpage>482</fpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Amendola</surname>
          </string-name>
          , G.:
          <article-title>Dealing with incoherence in ASP: split semi-equilibrium semantics</article-title>
          .
          <source>In: DWAI@AI*IA. CEUR Workshop Proceedings</source>
          , vol.
          <volume>1334</volume>
          , pp.
          <volume>23</volume>
          {
          <fpage>32</fpage>
          . CEURWS.org (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Amendola</surname>
          </string-name>
          , G.:
          <article-title>Preliminary results on modeling interdependent scheduling games via answer set programming</article-title>
          .
          <source>In: RiCeRcA@AI*IA. CEUR Workshop Proceedings</source>
          , vol.
          <volume>2272</volume>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Amendola</surname>
          </string-name>
          , G.:
          <article-title>Solving the stable roommates problem using incoherent answer set programs</article-title>
          .
          <source>In: RiCeRcA@AI*IA. CEUR Workshop Proceedings</source>
          , vol.
          <volume>2272</volume>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>On the computation of paracoherent answer sets</article-title>
          .
          <source>In: AAAI</source>
          . pp.
          <volume>1034</volume>
          {
          <fpage>1040</fpage>
          . AAAI Press (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pulina</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Algorithm selection for paracoherent answer set computation</article-title>
          .
          <source>In: JELIA. LNCS</source>
          , vol.
          <volume>11468</volume>
          , pp.
          <volume>479</volume>
          {
          <fpage>489</fpage>
          . Springer (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Externally supported models for e cient computation of paracoherent answer sets</article-title>
          .
          <source>In: AAAI</source>
          . pp.
          <volume>1720</volume>
          {
          <fpage>1727</fpage>
          . AAAI Press (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>On the application of answer set programming to the conference paper assignment problem</article-title>
          .
          <source>In: AI*IA. LNCS</source>
          , vol.
          <volume>10037</volume>
          , pp.
          <volume>164</volume>
          {
          <fpage>178</fpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fink</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moura</surname>
          </string-name>
          , J.:
          <article-title>Semi-equilibrium models for paracoherent answer set programs</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>234</volume>
          ,
          <issue>219</issue>
          {
          <fpage>271</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
          </string-name>
          , N.:
          <article-title>Modular paracoherent answer sets</article-title>
          .
          <source>In: JELIA. Lecture Notes in Computer Science</source>
          , vol.
          <volume>8761</volume>
          , pp.
          <volume>457</volume>
          {
          <fpage>471</fpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Amendola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greco</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veltri</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Modeling and reasoning about NTU games via answer set programming</article-title>
          .
          <source>In: IJCAI'16</source>
          . pp.
          <volume>38</volume>
          {
          <issue>45</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Balduccini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gelfond</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Watson</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nogueira</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The usa-advisor: A case study in answer set planning</article-title>
          .
          <source>In: LPNMR. Lecture Notes in Computer Science</source>
          , vol.
          <volume>2173</volume>
          , pp.
          <volume>439</volume>
          {
          <fpage>442</fpage>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Brain</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Vos</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Debugging logic programs under the answer set semantics</article-title>
          .
          <source>In: Answer Set Programming. CEUR Workshop Proceedings</source>
          , vol.
          <volume>142</volume>
          . CEURWS.org (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Brain</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tompits</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woltran</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>"That is Illogical Captain !" { The Debugging Support Tool spock for Answer-Set Programs : System Description</article-title>
          . In: SEA. pp.
          <volume>71</volume>
          {
          <issue>85</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Brewka</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Truszczynski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Answer set programming at a glance</article-title>
          .
          <source>Commun. ACM</source>
          <volume>54</volume>
          (
          <issue>12</issue>
          ),
          <volume>92</volume>
          {
          <fpage>103</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Calimeri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ianni</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaminski</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krennwallner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>ASP-Core-2 Input Language Format (</article-title>
          <year>2013</year>
          ), https://www.mat.unical.it/aspcomp2013/files/ASP-CORE-
          <volume>2</volume>
          .01c.pdf
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Calimeri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fusca</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zangari</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>I-DLV: the new intelligent grounder of DLV. Intelligenza Arti ciale 11(1</article-title>
          ),
          <volume>5</volume>
          {
          <fpage>20</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Calimeri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Design and results of the fth answer set programming competition</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>231</volume>
          ,
          <issue>151</issue>
          {
          <fpage>181</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Formisano</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Negation as a resource: a novel view on answer set semantics</article-title>
          .
          <source>Fundam. Inform</source>
          .
          <volume>140</volume>
          (
          <issue>3-4</issue>
          ),
          <volume>279</volume>
          {
          <fpage>305</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Formisano</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Query answering in resource-based answer set semantics</article-title>
          .
          <source>TPLP</source>
          <volume>16</volume>
          (
          <issue>5-6</issue>
          ),
          <volume>619</volume>
          {
          <fpage>635</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gasteiger</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musitsch</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schekotihin</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Combining answer set programming and domain heuristics for solving hard industrial problems (application paper)</article-title>
          .
          <source>TPLP 16</source>
          (
          <issue>5-6</issue>
          ),
          <volume>653</volume>
          {
          <fpage>669</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gasteiger</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musitsch</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shchekotykhin</surname>
            ,
            <given-names>K.M.:</given-names>
          </string-name>
          <article-title>Interactive debugging of non-ground ASP programs</article-title>
          .
          <source>In: LPNMR. Lecture Notes in Computer Science</source>
          , vol.
          <volume>9345</volume>
          , pp.
          <volume>279</volume>
          {
          <fpage>293</fpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gasteiger</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reale</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schekotihin</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Debugging nonground ASP programs: Technique and graphical tools</article-title>
          .
          <source>TPLP</source>
          <volume>19</volume>
          (
          <issue>2</issue>
          ),
          <volume>290</volume>
          {
          <fpage>316</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Dodaro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Allotment problem in travel industry: A solution based on ASP</article-title>
          .
          <source>In: RR. Lecture Notes in Computer Science</source>
          , vol.
          <volume>9209</volume>
          , pp.
          <volume>77</volume>
          {
          <fpage>92</fpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Erdem</surname>
          </string-name>
          , E., Oztok, U.:
          <article-title>Generating explanations for biomedical queries</article-title>
          .
          <source>TPLP</source>
          <volume>15</volume>
          (
          <issue>1</issue>
          ),
          <volume>35</volume>
          {
          <fpage>78</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Fandinno</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schulz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Answering the "why" in answer set programming - A survey of explanation approaches</article-title>
          .
          <source>TPLP</source>
          <volume>19</volume>
          (
          <issue>2</issue>
          ),
          <volume>114</volume>
          {
          <fpage>203</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Febbraro</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reale</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>ASPIDE: integrated development environment for answer set programming</article-title>
          .
          <source>In: LPNMR. Lecture Notes in Computer Science</source>
          , vol.
          <volume>6645</volume>
          , pp.
          <volume>317</volume>
          {
          <fpage>330</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Gaggl</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manthey</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ronca</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wallner</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woltran</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Improved answerset programming encodings for abstract argumentation</article-title>
          .
          <source>TPLP</source>
          <volume>15</volume>
          (
          <issue>4-5</issue>
          ),
          <volume>434</volume>
          {
          <fpage>448</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nonato</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peano</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>An ASP approach for the valves positioning optimization in a water distribution system</article-title>
          .
          <source>J. Log. Comput</source>
          .
          <volume>25</volume>
          (
          <issue>6</issue>
          ),
          <volume>1351</volume>
          {
          <fpage>1369</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Evaluation techniques and systems for answer set programming: a survey</article-title>
          .
          <source>In: IJCAI'18</source>
          . pp.
          <volume>5450</volume>
          {
          <issue>5456</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>The design of the sixth answer set programming competition - - report -</article-title>
          .
          <source>In: LPNMR. Lecture Notes in Computer Science</source>
          , vol.
          <volume>9345</volume>
          , pp.
          <volume>531</volume>
          {
          <fpage>544</fpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>What's hot in the answer set programming competition</article-title>
          .
          <source>In: AAAI</source>
          . pp.
          <volume>4327</volume>
          {
          <fpage>4329</fpage>
          . AAAI Press (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          39.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>The design of the seventh answer set programming competition</article-title>
          . In: Balduccini,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Janhunen</surname>
          </string-name>
          , T. (eds.)
          <source>LPNMR. LNCS</source>
          , vol.
          <volume>10377</volume>
          , pp.
          <volume>3</volume>
          {
          <issue>9</issue>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          40.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>The sixth answer set programming competition</article-title>
          .
          <source>Journal of Artif. Intell. Res</source>
          .
          <volume>60</volume>
          ,
          <issue>41</issue>
          {
          <fpage>95</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          41.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Puhrer, J.,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tompits</surname>
          </string-name>
          , H.:
          <article-title>A meta-programming technique for debugging answer-set programs</article-title>
          .
          <source>In: AAAI</source>
          . pp.
          <volume>448</volume>
          {
          <fpage>453</fpage>
          . AAAI Press (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          42.
          <string-name>
            <surname>Gelfond</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lifschitz</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Classical negation in logic programs</article-title>
          and disjunctive databases.
          <source>New Generation Comput</source>
          .
          <volume>9</volume>
          (
          <issue>3</issue>
          /4),
          <volume>365</volume>
          {
          <fpage>386</fpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          43.
          <string-name>
            <surname>Giunchiglia</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>On the relation among answer set solvers</article-title>
          .
          <source>Ann. Math. Artif. Intell</source>
          .
          <volume>53</volume>
          (
          <issue>1-4</issue>
          ),
          <volume>169</volume>
          {
          <fpage>204</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          44.
          <string-name>
            <surname>Giunchiglia</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>On the Relation Between Answer Set and SAT Procedures (or, Between cmodels and smodels)</article-title>
          .
          <source>In: ICLP. LNCS</source>
          , vol.
          <volume>3668</volume>
          , pp.
          <volume>37</volume>
          {
          <issue>51</issue>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          45.
          <string-name>
            <surname>Koponen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oikarinen</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Janhunen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sa</surname>
          </string-name>
          ila, L.:
          <article-title>Optimizing phylogenetic supertrees using answer set programming</article-title>
          .
          <source>TPLP</source>
          <volume>15</volume>
          (
          <issue>4-5</issue>
          ),
          <volume>604</volume>
          {
          <fpage>619</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          46.
          <string-name>
            <surname>Lierler</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Systems, engineering environments, and competitions</article-title>
          .
          <source>AI</source>
          Magazine
          <volume>37</volume>
          (
          <issue>3</issue>
          ),
          <volume>45</volume>
          {
          <fpage>52</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          47.
          <string-name>
            <surname>Manna</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Terracina</surname>
          </string-name>
          , G.:
          <article-title>Taming primary key violations to query large inconsistent data via ASP</article-title>
          .
          <source>TPLP</source>
          <volume>15</volume>
          (
          <issue>4-5</issue>
          ),
          <volume>696</volume>
          {
          <fpage>710</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          48.
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pulina</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A multi-engine approach to answer-set programming</article-title>
          .
          <source>TPLP</source>
          <volume>14</volume>
          (
          <issue>6</issue>
          ),
          <volume>841</volume>
          {
          <fpage>868</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          49.
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
          </string-name>
          , N.:
          <article-title>Look-back techniques and heuristics in DLV: implementation, evaluation, and comparison to QBF solvers</article-title>
          .
          <source>J. Algorithms</source>
          <volume>63</volume>
          (
          <issue>1-3</issue>
          ),
          <volume>70</volume>
          {
          <fpage>89</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          50.
          <string-name>
            <surname>Marileo</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bertossi</surname>
            ,
            <given-names>L.E.</given-names>
          </string-name>
          :
          <article-title>The consistency extractor system: Answer set programs for consistent query answering in databases</article-title>
          .
          <source>Data Knowl. Eng</source>
          .
          <volume>69</volume>
          (
          <issue>6</issue>
          ),
          <volume>545</volume>
          {
          <fpage>572</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref51">
        <mixed-citation>
          51.
          <string-name>
            <surname>Oetsch</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Puhrer, J.,
          <string-name>
            <surname>Tompits</surname>
          </string-name>
          , H.:
          <article-title>Catching the ouroboros: On debugging nonground answer-set programs</article-title>
          .
          <source>TPLP</source>
          <volume>10</volume>
          (
          <issue>4-6</issue>
          ),
          <volume>513</volume>
          {
          <fpage>529</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref52">
        <mixed-citation>
          52.
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , Fruhstuck,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Schenner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Friedrich</surname>
          </string-name>
          , G.:
          <article-title>Debugging non-ground ASP programs with choice rules, cardinality and weight constraints</article-title>
          .
          <source>In: LPNMR. Lecture Notes in Computer Science</source>
          , vol.
          <volume>8148</volume>
          , pp.
          <volume>452</volume>
          {
          <fpage>464</fpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref53">
        <mixed-citation>
          53.
          <string-name>
            <surname>Shchekotykhin</surname>
            ,
            <given-names>K.M.:</given-names>
          </string-name>
          <article-title>Interactive query-based debugging of ASP programs</article-title>
          .
          <source>In: AAAI</source>
          . pp.
          <volume>1597</volume>
          {
          <fpage>1603</fpage>
          . AAAI Press (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref54">
        <mixed-citation>
          54. Syrjanen, T.:
          <article-title>Debugging Inconsistent Answer Set Programs</article-title>
          . In: NMR. pp.
          <volume>77</volume>
          {
          <issue>84</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>