Debugging is a process of finding and reducing the number of bugs, or defects, in a program. A defect typically is detected because the program generates unexpected behaviour. In order to locate the cause of a defect, it therefore is essential to explain why this behaviour is generated. In this paper, we propose a new debugging approach for agent-oriented programming that exploits the structure and basic concepts that are used in logic-based agent programs for providing answers to some of such why questions. Our approach is based on the fact that the behaviour of an agent-oriented program can be traced back to basically two sources. First, agents derive their choice of action from their beliefs and goals - two fundamental programming concepts in agent-oriented programming. These folk psychological concepts provide reasons for doing something. Second, agent programs are rule-based programs and the evaluation of rules to a large extent determines the program’s behaviour.


Agent Program Execution Trace Explanation Framework Rule Instance Agent Programming Language 
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.
    Storey, M.A.: Theories, tools and research methods in program comprehension: past, present and future. Software Quality Control 14(3), 187–208 (2006)Google Scholar
  2. 2.
    Pokahr, A., Braubach, L.: A survey of agent-oriented development tools. In: Multi-Agent Programming, pp. 289–329. Springer (2009)Google Scholar
  3. 3.
    Lacave, C., Diez, F.J.: A review of explanation methods for heuristic expert systems. The Knowledge Engineering Review 19(02), 133–146 (2004)CrossRefGoogle Scholar
  4. 4.
    Gregor, S., Benbasat, I.: Explanations from intelligent systems: theoretical foundations and implications for practice. MIS Quarterly 23(4), 497–530 (1999)CrossRefGoogle Scholar
  5. 5.
    Taylor, G., Knudsen, K., Holt, L.S.: Explaining agent behavior. In: Proc. of the 15th Conference on Behavior Representation in Modeling and Simulation (2006)Google Scholar
  6. 6.
    Collier, R.: Debugging Agents in Agent Factory. In: Bordini, R.H., Dastani, M.M., Dix, J., El Fallah Seghrouchni, A. (eds.) PROMAS 2006. LNCS (LNAI), vol. 4411, pp. 229–248. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Dastani, M., Brandsema, J., Dubel, A., Meyer, J.-J.C.: Debugging BDI-Based Multi-Agent Programs. In: Braubach, L., Briot, J.-P., Thangarajah, J. (eds.) ProMAS 2009. LNCS, vol. 5919, pp. 151–169. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Hindriks, K.V.: Programming Rational Agents in GOAL. In: Multi-Agent Programming, pp. 119–157. Springer (2009)Google Scholar
  9. 9.
    Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: A BDI Reasoning Engine. In: Multi-Agent Programming, pp. 149–174. Springer (2005)Google Scholar
  10. 10.
    Agent Oriented Software: Jack intelligent agents tracing and logging manual, (April 2012)
  11. 11.
    Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-Agent Systems in AgentSpeak using Jason. Wiley (2007)Google Scholar
  12. 12.
    Sudeikat, J., Braubach, L., Pokahr, A., Lamersdorf, W., Renz, W.: Validation of BDI Agents. In: Bordini, R.H., Dastani, M.M., Dix, J., El Fallah Seghrouchni, A. (eds.) PROMAS 2006. LNCS (LNAI), vol. 4411, pp. 185–200. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Pothier, G., Tanter, E.: Back to the future: Omniscient debugging. IEEE Software 26(6), 78–95 (2009)CrossRefGoogle Scholar
  14. 14.
    Bosse, T., Lam, D.N., Barber, K.S.: Tools for analyzing intelligent agent systems. Web Intelli. and Agent Sys. 6(4), 355–371 (2008)Google Scholar
  15. 15.
    Eisenstadt, M.: My hairiest bug war stories. Com. of the ACM 40(4), 30–37 (1997)CrossRefGoogle Scholar
  16. 16.
    Pothier, G., Tanter, É.: Summarized Trace Indexing and Querying for Scalable Back-in-Time Debugging. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 558–582. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Taylor, G., Jones, R.M., Goldstein, M., Frederiksen, R., Wray, R.E.: Vista: A generic toolkit for visualizing agent behavior. In: Proc. of the 11th Conference on Computer Generated Forces and Behavioral Representation, pp. 157–167 (2002)Google Scholar
  18. 18.
    Broekens, J., Harbers, M., Hindriks, K., van den Bosch, K., Jonker, C., Meyer, J.-J.: Do You Get It? User-Evaluated Explainable BDI Agents. In: Dix, J., Witteveen, C. (eds.) MATES 2010. LNCS, vol. 6251, pp. 28–39. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  19. 19.
    Sindlar, M.P., Dastani, M.M., Dignum, F., Meyer, J.-J.C.: Mental State Abduction of BDI-Based Agents. In: Baldoni, M., Son, T.C., van Riemsdijk, M.B., Winikoff, M. (eds.) DALT 2008. LNCS (LNAI), vol. 5397, pp. 161–178. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  20. 20.
    Slaney, J., Thibaux, S.: Blocks world revisited. Artificial Intelligence 125(12), 119–153 (2001)MathSciNetzbMATHCrossRefGoogle Scholar
  21. 21.
    Sterling, L., Shapiro, E.: The Art of Prolog: Advanced Programming Techniques, 2nd edn. The MIT Press (1994)Google Scholar
  22. 22.
    Lifschitz, V.: On the semantics of STRIPS. In: Georgeff, M., Lansky, A. (eds.) Reasoning about Actions and Plans, pp. 1–9. Morgan Kaufman (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Koen V. Hindriks
    • 1
  1. 1.Delft University of TechnologyThe Netherlands

Personalised recommendations