{"type":"ScholarlyArticle","title":"Omniscient Debugging for Cognitive Agent Programs","authors":[{"name":"Vincent J. Koeman","slug":"vincent-j-koeman","given":"Vincent J.","family":"Koeman","affiliation":"Delft University of Technology , Mekelweg 4 , 2628CD , Delft , The Netherlands"},{"name":"Koen V. Hindriks","slug":"koen-v-hindriks","given":"Koen V.","family":"Hindriks","affiliation":"Delft University of Technology , Mekelweg 4 , 2628CD , Delft , The Netherlands"},{"name":"Catholijn M. Jonker","slug":"catholijn-m-jonker","given":"Catholijn M.","family":"Jonker","affiliation":"Delft University of Technology , Mekelweg 4 , 2628CD , Delft , The Netherlands"}],"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.\r\n\r\nIn 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.","doi":"10.24963/ijcai.2017/38","url":"https://ijcai.org/proceedings/2017/38","pdf":"https://ijcai.org/proceedings/2017/0038.pdf","markdown":"https://ijcai.org/proceedings/2017/38.md","bibtex":"https://ijcai.org/proceedings/2017/bibtex/38","volume":{"slug":"2017","title":"Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2017","url":"https://ijcai.org/proceedings/2017/","year":2017,"location":"Melbourne, Australia","dates":"19-25 August 2017","editors":"Carles Sierra","isbn":"978-0-9992411-0-3","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2017"},"section":"Agent-based and Multi-agent Systems","track":"Main track","number":38,"pages":{"first":265,"last":272},"keywords":["Agent-based and Multi-agent Systems: Engineering methods, platforms, languages and tools","Multidisciplinary Topics and Applications: Validation and Verification"],"videos":[],"references":[{"position":1,"raw":"Mohammad R. Azadmanesh and Matthias Hauswirth. Space- time views for back-in-time debugging. Technical Report 2015/02, University of Lugano, 2015.","title":"Spacetime views for back-in-time debugging","authors":"Mohammad R Azadmanesh, Matthias Hauswirth","year":"2015","venue":null,"doi":null,"url":null,"internal_url":null},{"position":2,"raw":"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.","title":"Towards an environment interface standard for agent platforms","authors":"Tristan M Behrens, Koen V Hindriks, Jürgen Dix","year":"2011","venue":"Annals of Mathematics and Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"Rafael H. Bordini, Jomi Fred Hübner, and Michael Wooldridge. Programming Multi-Agent Systems in AgentSpeak using Jason. John Wiley & Sons, Ltd, October 2007.","title":"Programming Multi-Agent Systems in AgentSpeak using Jason","authors":"H Rafael, Bordini, Fred Jomi, Michael Hübner, Wooldridge","year":"2007","venue":null,"doi":null,"url":null,"internal_url":null},{"position":4,"raw":"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.","title":"Debug mode is the only mode","authors":"Gilad Bracha","year":"2012","venue":null,"doi":null,"url":"https://gbracha.blogspot.nl/2012/11/debug-mode-is-only-mode.html","internal_url":null},{"position":5,"raw":"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.","title":"Debugging agents in Agent Factory","authors":"Rem Collier","year":"2006","venue":"Programming Multi-Agent Systems: 4th International Workshop, ProMAS 2006","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"Mehdi Dastani. 2APL: a practical agent programming lan- guage. Autonomous Agents and Multi-Agent Systems, 16(3):214-248, 2008.","title":"2APL: a practical agent programming language","authors":"Mehdi Dastani","year":"2008","venue":"Autonomous Agents and Multi-Agent Systems","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"J. Engblom. A review of reverse debugging. In System, Software, SoC and Silicon Debug Conference (S4D), 2012, pages 1-6, September 2012.","title":"A review of reverse debugging","authors":"J Engblom","year":"2012","venue":"System, Software, SoC and Silicon Debug Conference (S4D)","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"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.","title":"Tools and techniques for performance measurement of large distributed multiagent systems","authors":"Aaron Helsinger, Richard Lazarus, William Wright, John Zinky","year":"2003","venue":"Proceedings of the Second International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS '03","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"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.","title":"Unreal GOAL bots","authors":"V Koen, Hindriks, Tristan Birna Van Riemsdijk, Rien Behrens, Nick Korstanje, Wouter Kraayenbrink, Lennard Pasman, Rijk De","year":"2011","venue":"Agents for Games and Simulations II: Trends in Techniques, Concepts and Design","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"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.","title":"Programming rational agents in GOAL","authors":"V Koen, Hindriks","year":"2009","venue":"Multi-Agent Programming: Languages, Tools and Applications","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"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.","title":"Debugging is explaining","authors":"V Koen, Hindriks","year":"2012","venue":"PRIMA 2012: Principles and Practice of Multi-Agent Systems","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"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.","title":"Design and implementation of a backward-in-time debugger","authors":"Christoph Hofer, Marcus Denker, Stéphane Ducasse","year":"2006","venue":"NODe 2006","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"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.","title":"Joint activity testbed: Blocks World for Teams (BW4T)","authors":"Matthew Johnson, Catholijn Jonker, Paul J Birna Van Riemsdijk, Jeffrey M Feltovich, Bradshaw","year":"2009","venue":"Engineering Societies in the Agents World X: 10th International Workshop, ESAW 2009","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"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.","title":"Extracting and answering why and why not questions about Java program output","authors":"Andrew J Ko, Brad A Myers","year":"2010","venue":"ACM Transactions on Software Engineering and Methodology","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"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.","title":"Automating failure detection in cognitive agent programs","authors":"J Vincent, Koen V Koeman, Catholijn M Hindriks, Jonker","year":"2016","venue":"Proceedings of the 2016 International Conference on Autonomous Agents and Multiagent Systems, AAMAS '16","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"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.","title":"Designing a source-level debugger for cognitive agent programs","authors":"J Vincent, Koen V Koeman, Catholijn M Hindriks, Jonker","year":"2016","venue":"Autonomous Agents and Multi-Agent Systems","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"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.","title":"Comprehending agent software","authors":"D N Lam, K S Barber","year":"2003","venue":"Companion of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOP-SLA '03","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"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.","title":"Practical object-oriented back-in-time debugging","authors":"Adrian Lienhard, Tudor Gîrba, Oscar Nierstrasz","year":"2008","venue":"ECOOP 2008 -Object-Oriented Programming: 22nd European Conference","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"Guillaume Pothier, Éric Tanter, and José Piquer. Scalable om- niscient debugging. SIGPLAN Notices, 42(10):535-552, October 2007.","title":"Scalable omniscient debugging","authors":"Guillaume Pothier, Éric Tanter, José Piquer","year":"2007","venue":"SIGPLAN Notices","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"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.","title":"A comparison of file system workloads","authors":"Drew S Roselli, Jacob R Lorch, Thomas E Anderson","year":"2000","venue":"USENIX annual technical conference, general track","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"Andreas Zeller. Why Programs Fail, Second Edition: A Guide to Systematic Debugging. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2nd edition, 2009.","title":"Why Programs Fail, Second Edition: A Guide to Systematic Debugging","authors":"Andreas Zeller","year":"2009","venue":null,"doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}