Automating Failure Detection in Cognitive Agent Programs

More Info
expand_more

Abstract

Debugging is notoriously dicult and extremely time consuming but also essential for ensuring the reliability and quality of a software system. In order to reduce debugging effort and enable automated failure detection, we propose an
automated testing framework for detecting failures in cognitive agent programs. Our approach is based on the assumption that modules within such programs are a natural unit for testing. We identify a minimal set of temporal operators that enable the specication of test conditions and show that
the test language is suciently expressive for detecting all failures in an existing failure taxonomy. We also introduce an approach for specifying test templates that supports a programmer in writing tests. Furthermore, empirical analysis
of agent programs allows us to evaluate whether our approach using test templates detects all failures.