Hi Luke et al,
I really like Echidna and the fact that it's getting into active development again.
I would like to make a feature suggestion. It would be great if Echidna could safely and cleanly terminate Java threads. A way to do this in pure java is described here: http://citeseer.nj.nec.com/433897.html
However, their method relies on rewriting byte codes and has a noticeable performance impact (they introduce polls of a termination flag throughout the application code).
With a VM that supports a recent version of the Java Platform Debugger Architecture ( http://java.sun.com/products/jpda/ ), it might be possible to achieve the same effect without a perfomance impact (while remaining VM-independent). JPDA allows to inspect and change stack frames; when the termination of a thread is requested, Echidna could use JPDA to modify the thread's stack and effectively force it to exit.
What do you think?