<div class="csl-bib-body">
<div class="csl-entry">Oetsch, J., Pührer, J., & Tompits, H. (2018). Stepwise debugging of answer-set programs. <i>Theory and Practice of Logic Programming</i>, <i>18</i>(1), 30–80. https://doi.org/10.1017/s1471068417000217</div>
</div>
-
dc.identifier.issn
1471-0684
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/144526
-
dc.description.abstract
We introduce a stepping methodology for answer-set programming (ASP) that allows for debugging answer-set programs and is based on the stepwise application of rules. Similar to debugging in imperative languages, where the behaviour of a program is observed during a step-by-step execution, stepping for ASP allows for observing the effects that rule applications have in the computation of an answer set. While the approach is inspired from debugging in imperative programming, it is conceptually different to stepping in other paradigms due to non-determinism and declarativity that are inherent to ASP. In particular, unlike statements in an imperative program that are executed following a strict control flow, there is no predetermined order in which to consider rules in ASP during a computation. In our approach, the user is free to decide which rule to consider active in the next step following his or her intuition. This way, one can focus on interesting parts of the debugging search space. Bugs are detected during stepping by revealing differences between the actual semantics of the program and the expectations of the user. As a solid formal basis for stepping, we develop a framework of computations for answer-set programs. For fully supporting different solver languages, we build our framework on an abstract ASP language that is sufficiently general to capture different solver languages. To this end, we make use of abstract constraints as an established abstraction for popular language constructs such as aggregates. Stepping has been implemented in SeaLion, an integrated development environment for ASP. We illustrate stepping using an example scenario and discuss the stepping plugin of SeaLion. Moreover, we elaborate on methodological aspects and the embedding of stepping in the ASP development process.
en
dc.language.iso
en
-
dc.relation.ispartof
Theory and Practice of Logic Programming
-
dc.subject
Software
-
dc.subject
Artificial Intelligence
-
dc.subject
Theoretical Computer Science
-
dc.subject
Hardware and Architecture
-
dc.subject
Computational Theory and Mathematics
-
dc.subject
debugging
-
dc.subject
program analysis
-
dc.subject
answer-set programming
-
dc.subject
stepping
-
dc.title
Stepwise debugging of answer-set programs
en
dc.type
Artikel
de
dc.type
Article
en
dc.description.startpage
30
-
dc.description.endpage
80
-
dc.type.category
Original Research Article
-
tuw.container.volume
18
-
tuw.container.issue
1
-
tuw.journal.peerreviewed
true
-
tuw.peerreviewed
true
-
tuw.researchTopic.id
I1
-
tuw.researchTopic.name
Logic and Computation
-
tuw.researchTopic.value
100
-
dcterms.isPartOf.title
Theory and Practice of Logic Programming
-
tuw.publication.orgunit
E192-03 - Forschungsbereich Knowledge Based Systems
-
tuw.publication.orgunit
E192-02 - Forschungsbereich Databases and Artificial Intelligence
-
tuw.publisher.doi
10.1017/s1471068417000217
-
dc.identifier.eissn
1475-3081
-
dc.description.numberOfPages
51
-
wb.sci
true
-
wb.sciencebranch
Informatik
-
wb.sciencebranch.oefos
1020
-
wb.facultyfocus
Logic and Computation (LC)
de
wb.facultyfocus
Logic and Computation (LC)
en
wb.facultyfocus.faculty
E180
-
item.cerifentitytype
Publications
-
item.cerifentitytype
Publications
-
item.fulltext
no Fulltext
-
item.grantfulltext
restricted
-
item.openairecristype
http://purl.org/coar/resource_type/c_18cf
-
item.openairecristype
http://purl.org/coar/resource_type/c_18cf
-
item.openairetype
Artikel
-
item.openairetype
Article
-
item.languageiso639-1
en
-
crisitem.author.dept
E192-03 - Forschungsbereich Knowledge Based Systems
-
crisitem.author.dept
E192-02 - Forschungsbereich Databases and Artificial Intelligence
-
crisitem.author.dept
E192-03 - Forschungsbereich Knowledge Based Systems