Существует ли JVM для отладки параллельного программного обеспечения? - PullRequest
4 голосов
/ 04 мая 2010

Я использовал Concurrent Pascal, инструмент, который помогает отлаживать параллельные алгоритмы, потому что, когда он запускает ваш код, он рандомизирует, к какому потоку переходить на каждом возможном шаге, пробуя столько путей, сколько возможно.

Есть ли JVM, которая может это сделать?

Ответы [ 2 ]

2 голосов
/ 11 мая 2010

Взгляните на Java Pathfinder (от НАСА, тем не менее - и он бесплатный). Я думаю, что он должен делать то, что вам нужно почти из коробки, то есть пробовать разные чередования (может потребоваться некоторая сборка).

Конечно, вам все равно нужно указать свойство проверки ваших данных, которое вас интересует, например, инвариант. В противном случае по умолчанию он, вероятно, сообщит вам только о наличии тупика. Взгляните на раздел «Изучите варианты исполнения».

2 голосов
/ 04 мая 2010

Мне не известно о коммерческих JVM, которые бы это делали, но я предлагаю вам взглянуть на такие инструменты, как ConTest, которые пытаются помочь вам в вашей проблемной области:

ConTest на developerWorks

ConTest на исследовательском сайте

В целом, поскольку большинство коммерческих JVM полагаются на ОС при планировании потоков, для самих JVM это непривычно. Там может быть что-то для зеленых версий Jikes-RVM (которые могут быть более старыми).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...