As the use of concurrency in software increases there are more software testing tools being developed in both industry an academia. Below is a fairly comprehensive list of tools (mainly for Java):
- ConTest – IBM concurrent testing tool that inserts random delays into Java bytecode
- ConAn – a thread testing tool for Java
- CHESS – a Microsoft tool for concurrent testing in Visual Studio
- CalFuzzer – an active testing framework
- ConMAn – mutation testing tool for concurrent programs written in Java
- ConcurrencyCloner
– clone detection tool that detects user specified patterns (intended for project-specific bug detection). Can be combined with ConTest tool. - Coverity Dynamic Analysis – commercial tool that detects bugs in multithreaded Java programs [http://scan.coverity.com/]
- Chord – static and dynamic analysis tool for Java (listed below as well).
- Pluralism – Modular object protocol checking for Java
- Flashlight Dynamic Analysis – a commercial tool from SureLogic that is currently available in early release.
- MPI testing tools: TotalView, Intel Message Checking, MPI Check, Marmot
- JFuzz – testing tool built on Java PathFinder
- MutMut – concurrency mutation testing tool built on Java PathFinder
- AtomRacer – detection of data races and atomicity violations
- Eraser – detection of data races by tracking sets of locks that are acquired/held during execution.
Great list, thanks for sharing! I’m looking for a Java tool I can integrate in our unit or integration tests and that will automatically explore the interesting possible thread interleavings to check for concurrency bugs. Would you recommend any tool in the particular for this? (free or suitable cost-wise for a small company)
Thanks 🙂
Mike
Hi Mike,
Thanks for the comment. Unfortunately there aren’t any tools for Java that are sophisticated enough to automatically explore “interesting” thread schedules. Probably the best option is the IBM ConTest tool which has built-in heuristics that you can use to customize which thread schedules are checked.
Regards,
Jeremy
This is a super powerful list to check out.
You might like to check out a post on similar lines. Topic is “List of 100 Software Testing tools to meet your testing objectives”. Check out this link – http://www.gallop.net/blog/list-of-top-100-software-testing-tools/
I would love to know your comments on our blog post.
Thank you,
Cheers
Michael