Proceedings

Omniscient Debugging for Cognitive Agent Programs

Download BibTeX Cite

Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence. Main track. Pages 265-272.

https://doi.org/10.24963/ijcai.2017/38

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.

  1. Mohammad R. Azadmanesh and Matthias Hauswirth. Space- time views for back-in-time debugging. Technical Report 2015/02, University of Lugano, 2015.
  2. Tristan M. Behrens, Koen V. Hindriks, and Jürgen Dix. To- wards an environment interface standard for agent plat- forms. Annals of Mathematics and Artificial Intelligence, 61(4):261-295, 2011.
  3. Rafael H. Bordini, Jomi Fred Hübner, and Michael Wooldridge. Programming Multi-Agent Systems in AgentSpeak using Jason. John Wiley & Sons, Ltd, October 2007.
  4. Gilad Bracha. Debug mode is the only mode. https://gbracha.blogspot.nl/2012/11/ debug-mode-is-only-mode.html, November 2012. Accessed: 2017-02-19. Link
  5. Rem Collier. Debugging agents in Agent Factory. In Rafael H. Bordini, Mehdi Dastani, Jürgen Dix, and Amal El Fallah Seghrouchni, editors, Programming Multi-Agent Systems: 4th International Workshop, ProMAS 2006, Hakodate, Japan, May 9, 2006, Revised and Invited Pa- pers, pages 229-248. Springer Berlin Heidelberg, Berlin, Heidelberg, 2007.
  6. Mehdi Dastani. 2APL: a practical agent programming lan- guage. Autonomous Agents and Multi-Agent Systems, 16(3):214-248, 2008.
  7. J. Engblom. A review of reverse debugging. In System, Software, SoC and Silicon Debug Conference (S4D), 2012, pages 1-6, September 2012.
  8. Aaron Helsinger, Richard Lazarus, William Wright, and John Zinky. Tools and techniques for performance measurement of large distributed multiagent systems. In Proceedings of the Second International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS '03, pages 843- 850, New York, NY, USA, 2003. ACM.
  9. Koen V. Hindriks, Birna van Riemsdijk, Tristan Behrens, Rien Korstanje, Nick Kraayenbrink, Wouter Pasman, and Lennard de Rijk. Unreal GOAL bots. In Frank Dignum, editor, Agents for Games and Simulations II: Trends in Techniques, Concepts and Design, pages 1-18. Springer Berlin Heidelberg, Berlin, Heidelberg, 2011.
  10. Koen V. Hindriks. Programming rational agents in GOAL. In Amal El Fallah Seghrouchni, Jürgen Dix, Mehdi Das- tani, and Rafael H. Bordini, editors, Multi-Agent Program- ming: Languages, Tools and Applications, pages 119-157. Springer US, 2009.
  11. Koen V. Hindriks. Debugging is explaining. In Iyad Rahwan, Wayne Wobcke, Sandip Sen, and Toshiharu Sugawara, edi- tors, PRIMA 2012: Principles and Practice of Multi-Agent Systems, volume 7455 of Lecture Notes in Computer Sci- ence, pages 31-45. Springer Berlin Heidelberg, 2012.
  12. Christoph Hofer, Marcus Denker, and Stéphane Ducasse. De- sign and implementation of a backward-in-time debugger. In NODe 2006, volume P-88, pages 17-32, Erfurt, Ger- many, 2006. GI.
  13. Matthew Johnson, Catholijn Jonker, Birna van Riemsdijk, Paul J. Feltovich, and Jeffrey M. Bradshaw. Joint activity testbed: Blocks World for Teams (BW4T). In Huib Aldew- ereld, Virginia Dignum, and Gauthier Picard, editors, Engi- neering Societies in the Agents World X: 10th International Workshop, ESAW 2009, Utrecht, The Netherlands, Novem- ber 18-20, 2009. Proceedings, pages 254-256. Springer Berlin Heidelberg, Berlin, Heidelberg, 2009.
  14. Andrew J. Ko and Brad A. Myers. Extracting and answer- ing why and why not questions about Java program output. ACM Transactions on Software Engineering and Method- ology, 20(2):4:1-4:36, September 2010.
  15. Vincent J. Koeman, Koen V. Hindriks, and Catholijn M. Jonker. Automating failure detection in cognitive agent programs. In Proceedings of the 2016 International Con- ference on Autonomous Agents and Multiagent Systems, AAMAS '16, pages 1237-1246, Richland, SC, 2016. In- ternational Foundation for Autonomous Agents and Multi- agent Systems.
  16. Vincent J. Koeman, Koen V. Hindriks, and Catholijn M. Jonker. Designing a source-level debugger for cognitive agent programs. Autonomous Agents and Multi-Agent Sys- tems, 2016.
  17. D.N. Lam and K.S. Barber. Comprehending agent software. In Proceedings of the Fourth International Joint Confer- ence on Autonomous Agents and Multiagent Systems, AA- MAS '05, pages 586-593, New York, NY, USA, 2005. ACM. Bil Lewis and Mireille Ducasse. Using events to debug Java programs backwards in time. In Companion of the 18th An- nual ACM SIGPLAN Conference on Object-oriented Pro- gramming, Systems, Languages, and Applications, OOP- SLA '03, pages 96-97, New York, NY, USA, 2003. ACM.
  18. Adrian Lienhard, Tudor Gîrba, and Oscar Nierstrasz. Practi- cal object-oriented back-in-time debugging. In Jan Vitek, editor, ECOOP 2008 -Object-Oriented Programming: 22nd European Conference Paphos, Cyprus, July 7-11, 2008 Proceedings, pages 592-615. Springer Berlin Heidel- berg, Berlin, Heidelberg, 2008.
  19. Guillaume Pothier, Éric Tanter, and José Piquer. Scalable om- niscient debugging. SIGPLAN Notices, 42(10):535-552, October 2007.
  20. Drew S. Roselli, Jacob R. Lorch, Thomas E. Anderson, et al. A comparison of file system workloads. In USENIX annual technical conference, general track, pages 41-54, 2000.
  21. Andreas Zeller. Why Programs Fail, Second Edition: A Guide to Systematic Debugging. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2nd edition, 2009.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards