Monitoring and Debugging Concurrent and Distributed Object-Oriented Systems
Joseph R. Kiniry

TL;DR
This paper introduces IDebug, a monitoring system for complex concurrent and distributed object-oriented systems, enhancing debugging and understanding beyond traditional methods like debugging and logging.
Contribution
It presents new mechanisms for system monitoring tailored to complex concurrent and distributed systems, with an implementation for Java called IDebug.
Findings
IDebug improves understanding of complex systems
Monitoring mechanisms outperform traditional debugging in concurrency
Implementation demonstrates practical utility
Abstract
A major part of debugging, testing, and analyzing a complex software system is understanding what is happening within the system at run-time. Some developers advocate running within a debugger to better understand the system at this level. Others embed logging statements, even in the form of hard-coded calls to print functions, throughout the code. These techniques are all general, rough forms of what we call system monitoring, and, while they have limited usefulness in simple, sequential systems, they are nearly useless in complex, concurrent ones. We propose a set of new mechanisms, collectively known as a monitoring system, for understanding such complex systems, and we describe an example implementation of such a system, called IDebug, for the Java programming language.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScientific Computing and Data Management · Software Engineering Research · Advanced Software Engineering Methodologies
