Debugging for Model Expansion

  • Johan Wittocx
  • Hanne Vlaeminck
  • Marc Denecker
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5649)


Due to the development of efficient solvers, declarative problem solving frameworks based on model generation are becoming more and more applicable in practice. However, there are almost no tools to support debugging in these frameworks. For several reasons, current solvers are not suitable for debugging by tracing. In this paper, we propose a new solver algorithm for one of these frameworks, namely Model Expansion, that allows for debugging by tracing. We explain how to explore the trace of this solver in order to quickly locate a bug and we compare our debugging method with existing ones for Answer Set Programming and the Alloy system.


Model Expansion Domain Element Domain Atom Completion Rule Debug System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chang, F.: Alloy analyzer 4.0 (2007),
  2. 2.
    Denecker, M., Ternovska, E.: A logic of nonmonotone inductive definitions. ACM Trans. Comput. Log. 9(2) (2008)Google Scholar
  3. 3.
    Denecker, M., Vennekens, J.: Well-founded semantics and the algebraic theory of non-monotone inductive definitions. In: Baral, C., Brewka, G., Schlipf, J. (eds.) LPNMR 2007. LNCS, vol. 4483, pp. 84–96. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Ducassé, M.: Opium: An extendable trace analyzer for prolog. J. Log. Program. 39(1-3), 177–223 (1999)CrossRefzbMATHGoogle Scholar
  5. 5.
    East, D., Truszczynski, M.: Predicate-calculus-based logics for modeling and solving search problems. ACM Trans. Comput. Log. 7(1), 38–83 (2006)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Gebser, M., Pührer, J., Schaub, T., Tompits, H.: A meta-programming technique for debugging answer-set programs. In: Fox, D., Gomes, C.P. (eds.) AAAI, pp. 448–453. AAAI Press, Menlo Park (2008)Google Scholar
  7. 7.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)Google Scholar
  8. 8.
    Jahier, E., Ducass, M., Ridoux, O.: Specifying prolog trace models with a continuation semantics. In: Lau, K.-K. (ed.) LOPSTR 2000. LNCS, vol. 2042, p. 165. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Langevine, L., Ducassé, M., Deransart, P.: A propagation tracer for gnu-prolog: From formal definition to efficient implementation. In: Palamidessi, C. (ed.) ICLP 2003. LNCS, vol. 2916, pp. 269–283. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Mallet, S., Ducassé, M.: Generating deductive database explanations. In: ICLP, pp. 154–168 (1999)Google Scholar
  11. 11.
    Mariën, M., Gilis, D., Denecker, M.: On the relation between ID-Logic and Answer Set Programming. In: Alferes, J.J., Leite, J.A. (eds.) JELIA 2004. LNCS, vol. 3229, pp. 108–120. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  12. 12.
    Mariën, M., Wittocx, J., Denecker, M.: The IDP framework for declarative problem solving. In: LaSh 2006, pp. 19–34 (2006)Google Scholar
  13. 13.
    Mariën, M., Wittocx, J., Denecker, M., Maurice, B.: SAT(ID): Satisfiability of propositional logic extended with inductive definitions. In: Kleine Büning, H., Zhao, X. (eds.) SAT 2008. LNCS, vol. 4996, pp. 211–224. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Meier, M.: Debugging constraint programs. In: Montanari, U., Rossi, F. (eds.) CP 1995. LNCS, vol. 976, pp. 204–221. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  15. 15.
    Mitchell, D., Ternovska, E.: A framework for representing and solving NP search problems. In: AAAI 2005, pp. 430–435. AAAI Press/MIT Press (2005)Google Scholar
  16. 16.
    Nilsson, H.: Tracing piece by piece: Affordable debugging for lazy functional languages. In: ICFP, pp. 36–47 (1999)Google Scholar
  17. 17.
    Pontelli, E., Son, T.C.: Justifications for logic programs under answer set semantics. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 196–210. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Shapiro, E.Y.: Algorithmic Program Debugging. MIT Press, Cambridge (1983)zbMATHGoogle Scholar
  19. 19.
    Shlyakhter, I., Seater, R., Jackson, D., Sridharan, M., Taghdiri, M.: Debugging overconstrained declarative models using unsatisfiable cores. In: ASE-18, pp. 94–105 (2003)Google Scholar
  20. 20.
    Syrjänen, T.: Debugging inconsistent answer set programs. In: NMR 2006, Lake District, UK, May 2006, pp. 77–84 (2006)Google Scholar
  21. 21.
    Tronçon, R., Janssens, G.: A delta debugger for ilp query execution. In: CoRR, abs/cs/0701105 (2007)Google Scholar
  22. 22.
    Van Gelder, A., Ross, K.A., Schlipf, J.S.: The well-founded semantics for general logic programs. Journal of the ACM 38(3), 620–650 (1991)MathSciNetzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Johan Wittocx
    • 1
  • Hanne Vlaeminck
    • 1
  • Marc Denecker
    • 1
  1. 1.Department of Computer ScienceK.U. LeuvenBelgium

Personalised recommendations