Published online by Cambridge University Press: 15 February 2019
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.
This paper includes parts and significantly extends our previous work (Dodaro et al. 2015). The authors are grateful to Marc Deneker and Ingmar Dasseville for the fruitful discussions about debugging for logic programs and FO(ID) theories, and in particular for the useful suggestion improving the handling of bugs caused by atoms missing a supporting rule. The authors are also grateful to Roland Kaminski for providing gringo without simplifications.