Debugging is explaining

Koen V. Hindriks*

*Corresponding author for this work

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review


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.

Original languageEnglish
Title of host publicationPRIMA 2012
Subtitle of host publicationPrinciples and Practice of Multi-Agent Systems - 15th International Conference, Proceedings
Number of pages15
Publication statusPublished - 1 Dec 2012
Externally publishedYes
Event15th International Conference on Principles and Practice of Multi-Agent Systems, PRIMA 2012 - Kuching, Sarawak, Malaysia
Duration: 3 Sept 20127 Sept 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7455 LNAI
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference15th International Conference on Principles and Practice of Multi-Agent Systems, PRIMA 2012
CityKuching, Sarawak


Dive into the research topics of 'Debugging is explaining'. Together they form a unique fingerprint.

Cite this