Mutation Operators for Cognitive Agent Programs
Abstract
Testing multi-agent systems is a challenge, since by definition such systems are distributed, and are able to exhibit autonomous and flexible behaviour. One specific challenge in testing agent programs is developing a collection of tests (a "test suite") that is adequate for testing a given agent program. This requires a way of assessing the adequacy of a test suite. A well-established technique for assessing test suite adequacy is the use of mutation testing, where a test suite is assessed in terms of its ability to distinguish a program from its variants ("mutants"). However, work in this area has focussed largely on the mutation of procedural and object-oriented languages. This paper proposes a set of (systematically derived) mutation operators for AgentSpeak.