Omniscient Debugging for Cognitive Agent Programs
Abstract
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.
Cite
Text
Koeman et al. "Omniscient Debugging for Cognitive Agent Programs." International Joint Conference on Artificial Intelligence, 2017. doi:10.24963/IJCAI.2017/38Markdown
[Koeman et al. "Omniscient Debugging for Cognitive Agent Programs." International Joint Conference on Artificial Intelligence, 2017.](https://mlanthology.org/ijcai/2017/koeman2017ijcai-omniscient/) doi:10.24963/IJCAI.2017/38BibTeX
@inproceedings{koeman2017ijcai-omniscient,
title = {{Omniscient Debugging for Cognitive Agent Programs}},
author = {Koeman, Vincent J. and Hindriks, Koen V. and Jonker, Catholijn M.},
booktitle = {International Joint Conference on Artificial Intelligence},
year = {2017},
pages = {265-272},
doi = {10.24963/IJCAI.2017/38},
url = {https://mlanthology.org/ijcai/2017/koeman2017ijcai-omniscient/}
}