Omniscient Debugging for Cognitive Agent Programs

Omniscient Debugging for Cognitive Agent Programs

Vincent J. Koeman, Koen V. Hindriks, Catholijn M. Jonker

Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence
Main track. Pages 265-272. https://doi.org/10.24963/ijcai.2017/38

For real-time programs reproducing a bug by rerunning the system is likely to fail, making fault localization a time-consuming process. Omniscient debugging is a technique that stores each run in such a way that it supports going backwards in time. However, the overhead of existing omniscient debugging implementations for languages like Java is so large that it cannot be effectively used in practice. In this paper, we show that for agent-oriented programming practical omniscient debugging is possible. We design a tracing mechanism for efficiently storing and exploring agent program runs. We are the first to demonstrate that this mechanism does not affect program runs by empirically establishing that the same tests succeed or fail. Usability is supported by a trace visualization method aimed at more effectively locating faults in agent programs.
Keywords:
Agent-based and Multi-agent Systems: Engineering methods, platforms, languages and tools
Multidisciplinary Topics and Applications: Validation and Verification