{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,27]],"date-time":"2025-06-27T04:11:49Z","timestamp":1750997509684,"version":"3.41.0"},"reference-count":53,"publisher":"Cambridge University Press (CUP)","issue":"1","license":[{"start":{"date-parts":[[2017,10,17]],"date-time":"2017-10-17T00:00:00Z","timestamp":1508198400000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theory and Practice of Logic Programming"],"published-print":{"date-parts":[[2018,1]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We introduce a<jats:italic>stepping methodology<\/jats:italic>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<jats:monospace>SeaLion<\/jats:monospace>, an integrated development environment for ASP. We illustrate stepping using an example scenario and discuss the stepping plugin of<jats:monospace>SeaLion<\/jats:monospace>. Moreover, we elaborate on methodological aspects and the embedding of stepping in the ASP development process.<\/jats:p>","DOI":"10.1017\/s1471068417000217","type":"journal-article","created":{"date-parts":[[2017,10,17]],"date-time":"2017-10-17T08:15:45Z","timestamp":1508228145000},"page":"30-80","source":"Crossref","is-referenced-by-count":9,"title":["Stepwise debugging of answer-set programs"],"prefix":"10.1017","volume":"18","author":[{"given":"JOHANNES","family":"OETSCH","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1644-483X","authenticated-orcid":false,"given":"J\u00d6RG","family":"P\u00dcHRER","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"HANS","family":"TOMPITS","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"56","published-online":{"date-parts":[[2017,10,17]]},"reference":[{"key":"S1471068417000217_ref35","doi-asserted-by":"publisher","DOI":"10.1023\/A:1018930122475"},{"key":"S1471068417000217_ref17","doi-asserted-by":"crossref","unstructured":"Fr\u00fchst\u00fcck M. , P\u00fchrer J. and Friedrich G. 2013. Debugging answer-set programs with Ouroboros \u2013 Extending the SeaLion plugin. In Proc. of the 12th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'13), Corunna, Spain, September 15\u201319, 2013, P. Cabalar and T. C. Son , Eds. Lecture Notes in Computer Science, vol. 8148. Springer, 323\u2013328.","DOI":"10.1007\/978-3-642-40564-8_32"},{"key":"S1471068417000217_ref7","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068413000410"},{"key":"S1471068417000217_ref47","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068416000211"},{"key":"S1471068417000217_ref15","doi-asserted-by":"publisher","DOI":"10.1016\/j.artint.2010.04.002"},{"key":"S1471068417000217_ref53","doi-asserted-by":"crossref","unstructured":"Wittocx J. , Vlaeminck H. and Denecker M. 2009. Debugging for model expansion. In Proc. of the 25th International Conference on Logic Programming (ICLP'09), Pasadena, CA, USA, July 14\u201317, 2009, P. M. Hill and D. S. Warren , Eds. Lecture Notes in Computer Science, vol. 5649. Springer, 296\u2013311.","DOI":"10.1007\/978-3-642-02846-5_26"},{"key":"S1471068417000217_ref44","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068408003633"},{"key":"S1471068417000217_ref39","doi-asserted-by":"crossref","unstructured":"Oetsch J. , P\u00fchrer J. and Tompits H. 2011. Stepping through an answer-set program. In Proc. of the 11th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'11), Vancouver, Canada, May 16\u201319, 2011. Lecture Notes in Computer Science, vol. 6645. Springer, 134\u2013147.","DOI":"10.1007\/978-3-642-20895-9_13"},{"key":"S1471068417000217_ref30","doi-asserted-by":"publisher","DOI":"10.1016\/j.artint.2009.11.016"},{"key":"S1471068417000217_ref42","unstructured":"Oetsch J. , P\u00fchrer J. and Tompits H. 2013. The SeaLion has landed: An IDE for answer-set programming\u2013Preliminary report. In Revised Selected Papers of the 19th International Conference on Applications of Declarative Programming and Knowledge Management (INAP'11) and the 25th Workshop on Logic Programming (WLP'11), Vienna, Austria, September 28\u201330, 2011. Lecture Notes in Computer Science, vol. 7773. Springer, 305\u2013324."},{"key":"S1471068417000217_ref40","unstructured":"Oetsch J. , P\u00fchrer J. and Tompits H. 2012a. An FLP-style answer-set semantics for abstract-constraint programs with disjunctions. In Technical Communications of the 28th International Conference on Logic Programming (ICLP'12), Budapest, Hungary, A. Dovier and V. S. Costa , Eds. LIPIcs, vol. 17. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 222\u2013234."},{"key":"S1471068417000217_ref48","doi-asserted-by":"crossref","unstructured":"Shapiro E. Y. 1982. Algorithmic Program Debugging. PhD thesis, Yale University, New Haven, CT, USA.","DOI":"10.7551\/mitpress\/1192.001.0001"},{"key":"S1471068417000217_ref46","unstructured":"P\u00fchrer J. 2014. Stepwise Debugging in Answer-Set Programming: Theoretical Foundations and Practical Realisation. PhD thesis, Vienna University of Technology, Vienna, Austria. Accessed 14 December 2016. URL: http:\/\/repositum.tuwien.ac.at\/urn:nbn:at:at-ubtuw:1-75281 [online]."},{"key":"S1471068417000217_ref45","unstructured":"P\u00fchrer J. 2007. On debugging of propositional answer-set programs. Master's thesis, Vienna University of Technology, Vienna, Austria."},{"key":"S1471068417000217_ref27","unstructured":"Li T. , Vos M. D. , Padget J. , Satoh K. and Balke T. 2015. Debugging ASP using ILP. In Technical Communications of the 31st International Conference on Logic Programming (ICLP 2015), Cork, Ireland, August 31\u2013September 4, 2015, M. D. Vos , T. Eiter , Y. Lierler and F. Toni , Eds. CEUR Workshop Proceedings, vol. 1433. CEUR-WS.org."},{"key":"S1471068417000217_ref37","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068410000256"},{"key":"S1471068417000217_ref25","unstructured":"Lee J. 2005. A model-theoretic counterpart of loop formulas. In Proc. of the 19th International Joint Conference on Artificial Intelligence (IJCAI'05), Edinburgh, Scotland, UK, July 30\u2013August 5, 2005, L. P. Kaelbling and A. Saffiotti , Eds. Professional Book Center, 503\u2013508."},{"key":"S1471068417000217_ref51","unstructured":"Syrj\u00e4nen T. 2006. Debugging inconsistent answer set programs. In Proc. of the 11th International Workshop on Non-Monotonic Reasoning (NMR'06), Lake District, UK, May 30\u2013June 1, 2006, J. Dix and A. Hunter , Eds. Institut f\u00fcr Informatik, Technische Universit\u00e4t Clausthal, Technical Report, 77\u201383."},{"key":"S1471068417000217_ref6","unstructured":"Brochenin R. , Lierler Y. and Maratea M. 2014. Abstract disjunctive answer set solvers. In Proc. of the 21st European Conference on Artificial Intelligence (ECAI'14), Prague, Czech Republic, Aug. 18\u201322, 2014, T. Schaub , G. Friedrich , and B. O'Sullivan , Eds. Frontiers in Artificial Intelligence and Applications, vol. 263. IOS Press, 165\u2013170."},{"key":"S1471068417000217_ref14","unstructured":"Faber W. , Leone N. and Pfeifer G. 2004. Recursive aggregates in disjunctive logic programs: Semantics and complexity. In Proc. of the 9th European Conference on Logics in Artificial Intelligence (JELIA'04). Lecture Notes in Computer Science, vol. 3229. Springer, 200\u2013212."},{"key":"S1471068417000217_ref11","doi-asserted-by":"crossref","unstructured":"Denecker M. , Vennekens J. , Bond S. , Gebser M. and Truszczy\u0144ski M. 2009. The second answer set programming competition. In Proc. of the 10th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'09), Potsdam, Germany, September 14\u201318, 2009, E. Erdem , F. Lin , and T. Schaub , Eds. Lecture Notes in Computer Science, vol. 5753. Springer, 637\u2013654.","DOI":"10.1007\/978-3-642-04238-6_75"},{"key":"S1471068417000217_ref32","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-60085-2_17"},{"key":"S1471068417000217_ref10","doi-asserted-by":"publisher","DOI":"10.1145\/1342991.1342998"},{"key":"S1471068417000217_ref12","doi-asserted-by":"crossref","unstructured":"Dodaro C. , Gasteiger P. , Musitsch B. , Ricca F. and Shchekotykhin K. M. 2015. Interactive debugging of non-ground ASP programs. In Proc. of Logic Programming and Nonmonotonic Reasoning - 13th International Conference, LPNMR 2015, Lexington, KY, USA, September 27\u201330, 2015, F. Calimeri , G. Ianni and M. Truszczy\u0144ski , Eds. Lecture Notes in Computer Science, vol. 9345. Springer, 279\u2013293.","DOI":"10.1007\/978-3-319-23264-5_24"},{"key":"S1471068417000217_ref19","doi-asserted-by":"publisher","DOI":"10.1016\/j.artint.2012.04.001"},{"key":"S1471068417000217_ref38","unstructured":"Oetsch J. , P\u00fchrer J. and Tompits H. 2010b. Let's break the rules: Interactive procedural-style debugging of answer-set programs. In Proc. of the 24th Workshop on (Constraint) Logic Programming (WLP'10), Cairo, Egypt, September 14\u201316, 2010, S. Abdennadher , Ed. Technical Report, Faculty of Media Engineering and Technology, German University in Cairo, 77\u201387."},{"key":"S1471068417000217_ref50","doi-asserted-by":"publisher","DOI":"10.1016\/S0004-3702(02)00187-X"},{"key":"S1471068417000217_ref49","unstructured":"Shchekotykhin K. M. 2015. Interactive query-based debugging of ASP programs. In Proc. of the 29th AAAI Conference on Artificial Intelligence (AAAI'15), Austin, TX, USA, January 25\u201330, 2015, B. Bonet and S. Koenig , Eds. AAAI Press, 1597\u20131603."},{"key":"S1471068417000217_ref1","doi-asserted-by":"crossref","unstructured":"Alviano M. , Dodaro C. , Leone N. and Ricca F. 2015. Advances in WASP. In Proc. of Logic Programming and Nonmonotonic Reasoning - 13th International Conference, LPNMR, Lexington, KY, USA, September 27\u201330, 2015, F. Calimeri, G. Ianni and M. Truszczy\u0144ski, Eds. Lecture Notes in Computer Science, vol. 9345. Springer, 40\u201354.","DOI":"10.1007\/978-3-319-23264-5_5"},{"key":"S1471068417000217_ref24","unstructured":"Kloim\u00fcllner C. , Oetsch J. , P\u00fchrer J. and Tompits H. 2013. Kara: A system for visualising and visual editing of interpretations for answer-set programs. In Revised Selected Papers of the 19th International Conference on Applications of Declarative Programming and Knowledge Management (INAP'11) and the 25th Workshop on Logic Programming (WLP'11), Vienna, Austria, September 28\u201330, 2011. Lecture Notes in Computer Science, vol. 7773. Springer, 325\u2013344."},{"key":"S1471068417000217_ref4","unstructured":"Brain M. , Gebser M. , Puehrer J. , Schaub T. , Tompits H. and Woltran S. 2007a. That is illogical Captain! The debugging support tool spock for answer-set programs \u2013 System description. In Proc. of the 1st International Workshop on Software Engineering for Answer Set Programming (SEA'07), Tempe, AZ, USA, May 14, 2007, M. De Vos and T. Schaub, Eds., 71\u201385."},{"key":"S1471068417000217_ref3","unstructured":"Brain M. and De Vos M. 2005. Debugging logic programs under the answer set semantics. In Proc. of the 3rd International Workshop on Answer Set Programming (ASP'05), Advances in Theory and Implementation, Bath, UK, September 27\u201329, 2005, M. De Vos and A. Provetti, Eds. CEUR Workshop Proceedings, vol. 142. CEUR-WS.org."},{"key":"S1471068417000217_ref2","doi-asserted-by":"publisher","DOI":"10.1007\/BF01530761"},{"key":"S1471068417000217_ref31","doi-asserted-by":"crossref","unstructured":"Marek V. W. and Remmel J. B. 2004. Set constraints in logic programming. In Proc. of the 7th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'04), Fort Lauderdale, FL, USA, January 6\u20138, 2004, V. Lifschitz and I. Niemel\u00e4 , Eds. LNCS, vol. 2923. Springer, 167\u2013179.","DOI":"10.1007\/978-3-540-24609-1_16"},{"key":"S1471068417000217_ref16","doi-asserted-by":"publisher","DOI":"10.1145\/1970398.1970401"},{"key":"S1471068417000217_ref22","unstructured":"Gebser M. , P\u00fchrer J. , Schaub T. , Tompits H. and Woltran S. 2009. Spock: A debugging support tool for logic programs under the answer-set semantics. In Revised Selected Papers of the 17th International Conference on Applications of Declarative Programming and Knowledge Management (INAP'07) and 21st Workshop on (Constraint) Logic Programming (WLP'07), D. Seipel , M. Hanus and A. Wolf , Eds. Lecture Notes in Computer Science, vol. 5437. Springer, 247\u2013252."},{"key":"S1471068417000217_ref43","doi-asserted-by":"crossref","unstructured":"Polleres A. , Fr\u00fchst\u00fcck M. , Schenner G. and Friedrich G. 2013. Debugging non-ground ASP programs with choice rules, cardinality constraints and weight constraints. In Proc. of the 12th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'13), Corunna, Spain, September 15\u201319, 2013, P. Cabalar and T. C. Son , Eds. Lecture Notes in Computer Science, vol. 8148. Springer, 452\u2013464.","DOI":"10.1007\/978-3-642-40564-8_45"},{"key":"S1471068417000217_ref28","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068410000578"},{"key":"S1471068417000217_ref36","doi-asserted-by":"publisher","DOI":"10.1145\/1217856.1217859"},{"key":"S1471068417000217_ref8","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1007\/978-3-540-88594-8_8","volume-title":"Revised Selected Papers of the 3rd International Workshop on Semantics in Data and Knowledge Bases (SDKB'08), Nantes, France, March 29, 2008","author":"Caballero","year":"2008"},{"key":"S1471068417000217_ref18","doi-asserted-by":"crossref","unstructured":"Gebser M. , Kaminski R. , K\u00f6nig A. and Schaub T. 2011. Advances in gringo series 3. In Proc. of the 11th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'11), Vancouver, Canada, May 16\u201319, 2011, J. P. Delgrande and W. Faber , Eds. Lecture Notes in Computer Science, vol. 6645. Springer, 345\u2013351.","DOI":"10.1007\/978-3-642-20895-9_39"},{"key":"S1471068417000217_ref13","unstructured":"Eiter T. , Ianni G. , Schindlauer R. and Tompits H. 2005. A uniform integration of higher-order reasoning and external evaluations in answer-set programming. In Proc. of the 19th International Joint Conference on Artificial Intelligence (IJCAI'05), Edinburgh, Scotland, UK, July 30\u2013August 5, 2005, L. P. Kaelbling and A. Saffiotti , Eds. Professional Book Center, 90\u201396."},{"key":"S1471068417000217_ref21","unstructured":"Gebser M. , P\u00fchrer J. , Schaub T. and Tompits H. 2008. A meta-programming technique for debugging answer-set programs. In Proc. of the 23rd AAAI Conference on Artificial Intelligence (AAAI'08), Chicago, IL, USA, July 13\u201317, 2008, D. Fox and C. P. Gomes , Eds. AAAI Press, 448\u2013453."},{"key":"S1471068417000217_ref9","doi-asserted-by":"crossref","unstructured":"Denecker M. 2000. Extending classical logic with inductive definitions. In Proc. of the 1st International Conference on Computational Logic (CL'10), London, UK, July 24\u201328, 2000, J. W. Lloyd , V. Dahl , U. Furbach , M. Kerber , K. Lau , C. Palamidessi , L. M. Pereira , Y. Sagiv and P. J. Stuckey , Eds. Lecture Notes in Computer Science, vol. 1861. Springer, 703\u2013717.","DOI":"10.1007\/3-540-44957-4_47"},{"key":"S1471068417000217_ref5","doi-asserted-by":"crossref","unstructured":"Brain M. , Gebser M. , P\u00fchrer J. , Schaub T. , Tompits H. and Woltran S. 2007b. Debugging ASP programs by means of ASP. In Proc. of the 9th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'07), Tempe, AZ, USA, May 15\u201317, 2007, C. Baral , G. Brewka , and J. S. Schlipf , Eds. Lecture Notes in Computer Science, vol. 4483. Springer, 31\u201343.","DOI":"10.1007\/978-3-540-72200-7_5"},{"key":"S1471068417000217_ref26","doi-asserted-by":"publisher","DOI":"10.1145\/1149114.1149117"},{"key":"S1471068417000217_ref20","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068411000019"},{"key":"S1471068417000217_ref34","unstructured":"Mikitiuk A. , Moseley E. and Truszczy\u0144ski M. 2007. Towards debugging of answer-set programs in the language PSpb. In Proc. of the 2007 International Conference on Artificial Intelligence (ICAI'07), Volume II, Las Vegas, NV, USA, June 25\u201328, 2007, H. R. Arabnia , M. Q. Yang and J. Y. Yang , Eds. CSREA Press, 635\u2013640."},{"key":"S1471068417000217_ref23","doi-asserted-by":"publisher","DOI":"10.1007\/BF03037169"},{"key":"S1471068417000217_ref33","unstructured":"Marek V. W. and Truszczy\u0144ski M. 2004. Logic programs with abstract constraint atoms. In Proc. of the 19th National Conference on Artificial Intelligence (AAAI'04), San Jose, CA, USA, July 25\u201329, 2004, G. Ferguson and D. McGuinness , Eds. AAAI Press, 86\u201391."},{"key":"S1471068417000217_ref41","doi-asserted-by":"crossref","first-page":"492","DOI":"10.1007\/978-3-642-30743-0_34","volume-title":"Correct Reasoning - Essays on Logic-Based AI in Honour of Vladimir Lifschitz","author":"Oetsch","year":"2012"},{"key":"S1471068417000217_ref52","doi-asserted-by":"publisher","DOI":"10.1016\/j.artint.2010.08.004"},{"key":"S1471068417000217_ref29","doi-asserted-by":"publisher","DOI":"10.1016\/j.artint.2016.03.004"}],"container-title":["Theory and Practice of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S1471068417000217","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,26]],"date-time":"2025-06-26T14:44:25Z","timestamp":1750949065000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S1471068417000217\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10,17]]},"references-count":53,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,1]]}},"alternative-id":["S1471068417000217"],"URL":"https:\/\/doi.org\/10.1017\/s1471068417000217","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"type":"print","value":"1471-0684"},{"type":"electronic","value":"1475-3081"}],"subject":[],"published":{"date-parts":[[2017,10,17]]}}}