Submission: "Debugging and testing middleware with aspect-based control-flow and causal patterns"

Many tasks that involve the dynamic manipulation of middleware and large-scale distributed applications, such as debugging and testing, require the monitoring of intricate relationships of execution events that trigger modifications to the executing system. Furthermore, events often are of interest only if they occur as part of specific execution traces and not all possible non-deterministic interleavings of events in these traces. Current techniques and tools for the definition of such manipulations provide only very limited support for such event relationships and do not allow to concisely define restrictions on the interleaving of events.

In this paper, we argue for the use of high-level programming abstractions for the definition of relationships between execution events of distributed systems and the control of non-deterministic interleavings of events. Concretely, we provide the following contributions: we (i) motivate that such abstractions improve on current debugging and testing methods for middleware, (ii) introduce corresponding language mechanisms as well as corresponding implementation support by extending an existing aspect-oriented system for the dynamic manipulation of distributed systems, and (iii) evaluate our approach in the context of the debugging and testing of JBoss Cache, a Java-based middleware for replicated caching.

Downloads

These files contain all the files, sources, binaries and scripts used during the benchmarks.
Note: AWED is implemented on top of JAsCo. AWED prototype implementation is also called DJAsCo.