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?