{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,15]],"date-time":"2026-01-15T02:34:43Z","timestamp":1768444483921,"version":"3.49.0"},"reference-count":50,"publisher":"Cambridge University Press (CUP)","issue":"2","license":[{"start":{"date-parts":[[2019,2,15]],"date-time":"2019-02-15T00:00:00Z","timestamp":1550188800000},"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":[[2019,3]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Answer set programming (ASP) is one of the major declarative programming paradigms in the area of logic programming and non-monotonic reasoning. Despite that 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 allowing for interactive localization of bugs in non-ground programs. The new approach points the user directly to a set of non-ground rules involved in the bug, which might be refined (up to the point in which the bug is easily identified) by asking the programmer a sequence of questions on an expected answer set. The approach has been implemented on top of the ASP solver wasp. The resulting debugger has been complemented by a user-friendly graphical interface, and integrated in aspide, a rich integrated development environment (IDE) for answer set programs. In addition, an empirical analysis shows that the new debugger is not affected by the grounding blowup limiting the application of previous approaches based on meta-programming.<\/jats:p>","DOI":"10.1017\/s1471068418000492","type":"journal-article","created":{"date-parts":[[2019,2,15]],"date-time":"2019-02-15T08:31:59Z","timestamp":1550219519000},"page":"290-316","source":"Crossref","is-referenced-by-count":14,"title":["Debugging Non-ground ASP Programs: Technique and Graphical Tools"],"prefix":"10.1017","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5617-5286","authenticated-orcid":false,"given":"CARMINE","family":"DODARO","sequence":"first","affiliation":[]},{"given":"PHILIP","family":"GASTEIGER","sequence":"additional","affiliation":[]},{"given":"KRISTIAN","family":"REALE","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8218-3178","authenticated-orcid":false,"given":"FRANCESCO","family":"RICCA","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0286-0958","authenticated-orcid":false,"given":"KONSTANTIN","family":"SCHEKOTIHIN","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2019,2,15]]},"reference":[{"key":"S1471068418000492_ref33","first-page":"591","volume-title":"LPNMR","author":"Grasso","year":"2009"},{"key":"S1471068418000492_ref11","doi-asserted-by":"publisher","DOI":"10.1145\/2043174.2043195"},{"key":"S1471068418000492_ref23","first-page":"317","volume-title":"LPNMR","author":"Febbraro","year":"2011"},{"key":"S1471068418000492_ref31","first-page":"323","article-title":"Detecting inconsistencies in large biological networks with answer set programming","volume":"11","author":"Gebser","year":"2011","journal-title":"TPLP"},{"key":"S1471068418000492_ref16","first-page":"653","article-title":"Combining answer set programming and domain heuristics for solving hard industrial problems (application paper)","volume":"16","author":"Dodaro","year":"2016","journal-title":"TPLP"},{"key":"S1471068418000492_ref3","first-page":"40","volume-title":"LPNMR","author":"Alviano","year":"2015"},{"key":"S1471068418000492_ref21","first-page":"35","article-title":"Generating explanations for biomedical queries","volume":"15","author":"Erdem","year":"2015","journal-title":"TPLP"},{"key":"S1471068418000492_ref12","first-page":"657","article-title":"SeaLion: An eclipse-based IDE for answer-set programming with advanced debugging support","volume":"13","author":"Busoniu","year":"2013","journal-title":"TPLP"},{"key":"S1471068418000492_ref20","doi-asserted-by":"publisher","DOI":"10.1609\/aimag.v37i3.2678"},{"key":"S1471068418000492_ref8","volume-title":"Knowledge Representation, Reasoning and Declarative Problem Solving","author":"Baral","year":"2010"},{"key":"S1471068418000492_ref29","first-page":"4327","volume-title":"AAAI","author":"Gebser","year":"2016"},{"key":"S1471068418000492_ref36","first-page":"604","article-title":"Optimizing phylogenetic supertrees using answer set programming","volume":"15","author":"Koponen","year":"2015","journal-title":"TPLP"},{"key":"S1471068418000492_ref42","first-page":"134","volume-title":"LPNMR","author":"Oetsch","year":"2011"},{"key":"S1471068418000492_ref9","volume-title":"Answer Set Programming","author":"Brain","year":"2005"},{"key":"S1471068418000492_ref18","first-page":"77","volume-title":"RR","author":"Dodaro","year":"2015"},{"key":"S1471068418000492_ref17","first-page":"279","volume-title":"LPNMR","author":"Dodaro","year":"2015"},{"key":"S1471068418000492_ref25","doi-asserted-by":"publisher","DOI":"10.1093\/logcom\/ext065"},{"key":"S1471068418000492_ref1","doi-asserted-by":"publisher","DOI":"10.3233\/FI-2016-1396"},{"key":"S1471068418000492_ref2","first-page":"533","article-title":"Anytime answer set optimization via unsatisfiable core shrinking","volume":"16","author":"Alviano","year":"2016","journal-title":"TPLP"},{"key":"S1471068418000492_ref4","first-page":"468","volume-title":"AI*IA","author":"Alviano","year":"2017"},{"key":"S1471068418000492_ref5","first-page":"4","volume-title":"CPAIOR","author":"Aschinger","year":"2011"},{"key":"S1471068418000492_ref6","unstructured":"Balduccini, M. and Gelfond, M. 2003. Logic programs with consistency-restoring rules. In AAAI Spring Symposium, AAAI, 9\u201318."},{"key":"S1471068418000492_ref7","first-page":"439","volume-title":"LPNMR","author":"Balduccini","year":"2001"},{"key":"S1471068418000492_ref10","first-page":"71","article-title":"\u201cThat is Illogical Captain!\u201d \u2013 The debugging support tool spock for answer-set programs: System description","author":"Brain","year":"2007","journal-title":"SEA"},{"key":"S1471068418000492_ref43","first-page":"452","volume-title":"LPNMR","author":"Polleres","year":"2013"},{"key":"S1471068418000492_ref13","doi-asserted-by":"publisher","DOI":"10.1016\/j.artint.2015.09.008"},{"key":"S1471068418000492_ref15","unstructured":"Dasseville, I. and Janssens, G. 2015. A web-based IDE for IDP. CoRR abs\/1511.00920."},{"key":"S1471068418000492_ref19","doi-asserted-by":"publisher","DOI":"10.1145\/261124.261126"},{"key":"S1471068418000492_ref22","first-page":"345","volume-title":"INAP\/WLP","author":"Febbraro","year":"2011"},{"key":"S1471068418000492_ref26","doi-asserted-by":"crossref","unstructured":"Gebser, M. , Kaminski, R. , Kaufmann, B. and Schaub, T. 2012. Answer Set Solving in Practice. Synthesis Lectures on Artificial Intelligence and Machine Learning. Morgan & Claypool Publishers, San Rafael.","DOI":"10.2200\/S00457ED1V01Y201211AIM019"},{"key":"S1471068418000492_ref27","first-page":"345","volume-title":"LPNMR","author":"Gebser","year":"2011"},{"key":"S1471068418000492_ref50","first-page":"77","article-title":"Debugging inconsistent Answer Set Programs","author":"Syrj\u00e4nen","year":"2006","journal-title":"NMR"},{"key":"S1471068418000492_ref28","first-page":"531","volume-title":"LPNMR","author":"Gebser","year":"2015"},{"key":"S1471068418000492_ref30","first-page":"448","volume-title":"AAAI","author":"Gebser","year":"2008"},{"key":"S1471068418000492_ref32","doi-asserted-by":"publisher","DOI":"10.1007\/BF03037169"},{"key":"S1471068418000492_ref14","first-page":"117","article-title":"The third open answer set programming competition","volume":"14","author":"Calimeri","year":"2014","journal-title":"TPLP"},{"key":"S1471068418000492_ref34","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-20832-4_27"},{"key":"S1471068418000492_ref45","first-page":"467","volume-title":"LPNMR","author":"Schulz","year":"2015"},{"key":"S1471068418000492_ref35","first-page":"167","volume-title":"AAAI","author":"Junker","year":"2004"},{"key":"S1471068418000492_ref38","doi-asserted-by":"publisher","DOI":"10.1609\/aimag.v37i3.2675"},{"key":"S1471068418000492_ref39","first-page":"635","volume-title":"IC-AI","author":"Mikitiuk","year":"2007"},{"key":"S1471068418000492_ref40","first-page":"206","volume-title":"INTERCHI","author":"Nielsen","year":"1993"},{"key":"S1471068418000492_ref41","first-page":"513","article-title":"Catching the ouroboros: On debugging nonground answer-set programs","volume":"10","author":"Oetsch","year":"2010","journal-title":"TPLP"},{"key":"S1471068418000492_ref44","first-page":"1","article-title":"Justifications for logic programs under answer set semantics","volume":"9","author":"Pontelli","year":"2009","journal-title":"TPLP"},{"key":"S1471068418000492_ref49","doi-asserted-by":"publisher","DOI":"10.1016\/S0004-3702(02)00187-X"},{"key":"S1471068418000492_ref46","first-page":"59","article-title":"Justifying answer sets using argumentation","volume":"16","author":"Schulz","year":"2016","journal-title":"TPLP"},{"key":"S1471068418000492_ref47","first-page":"1597","volume-title":"AAAI","author":"Shchekotykhin","year":"2015"},{"key":"S1471068418000492_ref48","doi-asserted-by":"publisher","DOI":"10.1109\/12.769433"},{"key":"S1471068418000492_ref37","volume-title":"ICLP (Technical Communications)","author":"Li","year":"2015"},{"key":"S1471068418000492_ref24","first-page":"459","volume-title":"XP","author":"Fraser","year":"2003"}],"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\/S1471068418000492","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,11,16]],"date-time":"2019-11-16T23:25:20Z","timestamp":1573946720000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S1471068418000492\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,2,15]]},"references-count":50,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2019,3]]}},"alternative-id":["S1471068418000492"],"URL":"https:\/\/doi.org\/10.1017\/s1471068418000492","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"value":"1471-0684","type":"print"},{"value":"1475-3081","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,2,15]]}}}