Novice programmers' faults & failures in GOAL programs

What are the types of mistakes ("faults'") that novice GOAL programmers make, and how do they manifest as failures? This question is important since it has significant implications to the ongoing design of GOAL, and other agent-oriented programming languages; to the ongoing development of tools that support GOAL programmers; and to how we teach agent-oriented programming. In this paper we develop taxonomies for faults and for failures. We then classify the faults and failures that occur in a collection of programs by novice GOAL programmers. This provides empirical data which we use to make recommendations regarding the GOAL language, its support tools, and how it is taught.

[1]  Koen V. Hindriks,et al.  Debugging Is Explaining , 2012, PRIMA.

[2]  Michael Winikoff,et al.  An Exploration of Bugs and Debugging in Multi-agent Systems , 2003, ISMIS.

[3]  Hyacinth S. Nwana,et al.  Visualising and debugging distributed multi-agent systems , 1999, AGENTS '99.

[4]  Koen V. Hindriks,et al.  An empirical study of cognitive agent programs , 2012, Multiagent Grid Syst..

[5]  Lin Padgham,et al.  Model-Based Test Oracle Generation for Automated Unit Testing of Agent Systems , 2013, IEEE Transactions on Software Engineering.

[6]  Michael Winikoff,et al.  Mutation Operators for the Goal Agent Language , 2013, EMAS@AAMAS.

[7]  Brad A. Myers,et al.  Development and evaluation of a model of programming errors , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[8]  Donald E. Knuth,et al.  The errors of tex , 1989, Softw. Pract. Exp..