Is there a JVM for debugging parallel software?

I used Concurrent Pascal, a tool that helps debug parallel algorithms, because when it runs your code, it randomizes which thread needs to be changed at every possible stage, trying as many paths as possible.

Is there a JVM that can do this?

+4
source share
2 answers

Check out the Java Pathfinder (from NASA, however, and for free). I think he should do what you need almost out of the box, i.e. Try different hooks (some assembly may be required).

Of course, you still need to specify the property of checking for your data that you are interested in, for example, an invariant. Otherwise, by default, you will probably only say if there was a dead end. Take a look at the “Explore Performance Alternatives” section.

+2
source

There are no commercial JVMs that I know about this, but I suggest you take a look at tools like ConTest that will help you in your area of ​​concern:

DeveloperWorks contest

ConTest on the study site

In general, since most commercial JVMs rely on the OS to perform thread scheduling, this is not natural for the JVM itself. Perhaps there is something for the Jikes-RVM versions with green threads (which may be older).

+2
source

Source: https://habr.com/ru/post/1308725/


All Articles