Event-Based Debugging: Ariadne's Approach

In Ariadne, we provide event-based behavioral abstraction and logical time manipulation by combining a simple modeling language together and functional queries. Our modeling language is easy to learn and use. Its patterns are often too coarse, however, and match behaviors in unintended ways. To compensate we provide functional queries that give feedback both on matched and unmatched patterns.

To illustrate the features of Ariadne, let us consider an actual parallel program and see how we can locate the bug using both event and state based debugging approaches. We look at a binary image compression algorithm written in an object parallel language pC++.