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.


Nism Folk 


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, http://www.aosgrp.com/documentation/jack/JACK_Tracing_Manual_WEB/index.html#Designtracingtool (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)MathSciNetMATHCrossRefGoogle 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