Test with vmlens

vmlens enables you to test multithreaded java

Download vmlens

vmlens supports maven and eclipse

Write multithreaded software free of:

Deadlocks

Deadlocks, two threads are trying to acquire a lock held by the other thread, depend on the timing of your tests.

vmlens analyses the order in which monitors are acquired by your application. This allows vmlens to detect all deadlocks, independent of the concrete timing when a specific lock was acquired.

Race conditions

Race conditions, the result of the computation depends on the timing of your threads, are hard to test systematically and reproducible.

vmlens inserts wait, notify instruction during the test run and reruns all tests till all thread interleaving are tested. This makes it possible to test race conditions in a reproducible and systematic way.

See what to test...

All parts of your application in which multiple threads access the same memory location or monitor needs to be tested. vmlens shows you all places in which multiple threads access the same memory location or monitor.

...test systematically and reproducable...

vmlens inserts wait, notify instructions during the test and reruns the test till all thread interleavings are tested. This together with the automatic detection of data races and deadlocks leads to systematic and reproducible tests.

...and write better software through testing:

Together with fewer bugs testing leads to less shared state and synchronization monitors.

Less shared state

By seeing what in what method multiple threads access the same state you are able to reduce the amount of shared state.

Less monitors

And less shared state means less synchronization monitors needed.

A short note from Thomas:

(Developer of vmlens)

Hello!

Do you love to write bug-free software? Me too!

It always bothers me when I can not test something. That's why I created vmlens, a tool to test multithreaded java.

Now 4 years and countless tests later vmlens enables you to test multi-threaded java systematic and reproducible. And like vmlens now let my completely test vmlens, vmlens let you test the multithreaded part of your application

Enjoy writing concurrent software secured by tests.

Cheers, Thomas

Want to start testing?

Download vmlens

vmlens supports maven and eclipse